Laravel控制器“试图获取属性' cm_number'非对象

发布于 2025-02-10 21:18:01 字数 6753 浏览 1 评论 0原文

我的控制器有问题,它没有得到getcmnumber声明的价值,它需要将getCmnumber的格式归于cm_number并自动将其保存到数据库中,但是有一个错误,但说“试图获得的错误属性的“ cm_number”非对象“

这是我的控制器

public function store(Request $request)
    {
        try {
            $userEmployment = UserEmployment::where('emp_xuser',Auth::user()->status_xuser)->first();
            $stages = "UR,DH,SO,ITOPS,ITSA,ITSEC";

            $cm = new ChangeManagement;
            $cm->cm_user                = Auth::user()->status_xuser;
            $cm->cm_number              = self::getCMNumber();
            $cm->cm_company             = $request->xcompany;
            $cm->cm_projectname         = $request->xproject;
            $cm->cm_requesttype         = $request->xcmtype;
            $cm->cm_userdep             = $request->xdepartment;
            $cm->cm_depthead            = $userEmployment->emp_xdepartment;
            $cm->cm_remarks             = $request->xremarks; 
            $cm->cm_status              = "Open"; 
            $cm->cm_priority            = "Standard"; 
            $cm->cm_stages              = $stages;
            $cm->cm_current             = "UR"; 
            $cm->cm_Requested          = $request->xdateneeded; 
            $cm->save();
            

            $dh_email = "";
            $stgray = explode(',', $stages);
            $stagecount = count($stgray);
            $count = 0;
            while($count<$stagecount) {
                $cmstg_stage = $stgray[$count];
                switch($cmstg_stage){
                    case "UR":
                        $cmstg_stageuser = Auth::user()->status_xuser;
                        break;
                    case "DH":
                        $cmstg_user = self::getdephead($userEmployment->emp_xdepartment);
                        $dh_email = $cmstg_user;
                        break;
                    case "SO":
                        $cmstg_user = self::getdephead('System Owner');
                        break;
                    case "ITOPS":
                        $cmstg_user = self::getdephead('IT-Operations');
                        break;    
                    case "ITSA":
                         $cmstg_user = self::getdephead('System Administrator');
                        break;
                    case "ITSEC":
                        $cmstg_user = self::getdephead('IT-System Administrator');
                        break;
                }
                $cmstg = new ChangeManangementStages;
                $cmstg->prstg_prnumber     = $cm->cm_number;
                $cmstg->prstg_stage        = $cmstg_stage;
                $cmstg->prstg_stageuser    = $cmstg_stageuser;
                $cmstg->save();
                $count++;
            }
            $firewallcount = 0;
            while ($firewallcount < count($request->pr_item)) {
                $firewall = new FirewallRequest;
                $firewall->cm_fw_number       =$cm->cm_number;
                $firewall->fw_number          =self::getfirewallNumber($cm->cm_number);
                $firewall->fw_user            =Auth::user()->status_xuser;
                $firewall->fw_stage           =$stages;
                $firewall->fw_purpose         =$request->xpurpose[$firewallcount];
                $firewall->fw_expected_result =$request->xresult[$firewallcount];
                $firewall->fw_server_instance =$request->xinstance[$firewallcount];
                $firewall->fw_src_servername  =$request->xsrcname[$firewallcount];
                $firewall->fw_src_ip          =$request->xsrcip[$firewallcount];
                $firewall->fw_dest_servename  =$request->xdestname[$firewallcount];
                $firewall->fw_dest_ip         =$request->xdestip[$firewallcount];
                $firewall->fw_port_services   =$request->xprsr[$firewallcount];
                $firewall->fw_remarks         =$request->xremarks[$firewallcount];
                $firewall->fw_date_requested  =$request->xdatecr[$firewallcount];
                $firewall->save();
                $firewallcount++;
                }
            
            if($request->hasFile('filename'))
            {
                $path = storage_path('ChangeManagement/'.$cm->cm_number);
                if(!File::exists($path)) {
                    Storage::disk('fw_upload')->makeDirectory($cm->cm_number);
                }
                $uploadcount = 0;
                while ($uploadcount < count($request->filename)) {
                    $filename = $request->filename[$uploadcount];
                    $prupload = new ChangeManagementUploads;
                    $prupload->pr_number      =$pr->pr_number;
                    $prupload->filename       =$filename->getClientOriginalName();
                    $prupload->save();
                    Storage::disk('fw_upload')->put( '/'.$cm->cm_number.'/'.$filename->getClientOriginalName(),File::get($filename));
                    $uploadcount++;
                }
            }
                alert()->success('Request submitted',$cm->cm_number.' has been submitted for review and approval')
                ->showConfirmButton(
                    $btnText = '<a class="add-padding" href="'.route('cm.show',$cm->cm_number).'">View Request</a>', // here is class for link
                    $btnColor = '#fa0031',
                    ['className'  => 'no-padding'], 
                )->autoClose(false);
                return redirect()->back();

            }
        catch (\Throwable $th) 
        {
            alert()->error($th->getMessage())->showConfirmButton('Return', '#fa0031');
            return redirect()->back();
        }

getCmnumber

public static function getCMNumber() {
       
        $cm = ChangeManagement::orderBy('cm_id','desc')->first();
      
        $last_ticket = $cm->cm_number;
        $tick_date  = substr($last_ticket, 0, 10);
        $tick_date_now = date('Y-m-d');
        $tick_pre   = "-CM-";
        $tick_start = "000";
        $tick_num   = substr($last_ticket, 14, 17);
        
        if ($tick_date == $tick_date_now) { 
            $tick_d1 = $tick_date; 
            $tick_d2 = $tick_pre;
            $tick_dx = $tick_num + 1;
            $tick_d3 = str_pad($tick_dx, 3, '0', STR_PAD_LEFT);
        } else { 
            $tick_d1 = $tick_date_now;
            $tick_d2 = $tick_pre;
            $tick_d3 = $tick_start;
        }
         return $tick_dt = $tick_d1.$tick_d2.$tick_d3;
    }

I have a problem in my controller, it doesn't get the value of what declare in getCMnumber, it needs to get the format of getCMNumber to cm_number and automatically save it to the database, but there was an error that says "Trying to get property 'cm_number' of non-object"

this my controller

public function store(Request $request)
    {
        try {
            $userEmployment = UserEmployment::where('emp_xuser',Auth::user()->status_xuser)->first();
            $stages = "UR,DH,SO,ITOPS,ITSA,ITSEC";

            $cm = new ChangeManagement;
            $cm->cm_user                = Auth::user()->status_xuser;
            $cm->cm_number              = self::getCMNumber();
            $cm->cm_company             = $request->xcompany;
            $cm->cm_projectname         = $request->xproject;
            $cm->cm_requesttype         = $request->xcmtype;
            $cm->cm_userdep             = $request->xdepartment;
            $cm->cm_depthead            = $userEmployment->emp_xdepartment;
            $cm->cm_remarks             = $request->xremarks; 
            $cm->cm_status              = "Open"; 
            $cm->cm_priority            = "Standard"; 
            $cm->cm_stages              = $stages;
            $cm->cm_current             = "UR"; 
            $cm->cm_Requested          = $request->xdateneeded; 
            $cm->save();
            

            $dh_email = "";
            $stgray = explode(',', $stages);
            $stagecount = count($stgray);
            $count = 0;
            while($count<$stagecount) {
                $cmstg_stage = $stgray[$count];
                switch($cmstg_stage){
                    case "UR":
                        $cmstg_stageuser = Auth::user()->status_xuser;
                        break;
                    case "DH":
                        $cmstg_user = self::getdephead($userEmployment->emp_xdepartment);
                        $dh_email = $cmstg_user;
                        break;
                    case "SO":
                        $cmstg_user = self::getdephead('System Owner');
                        break;
                    case "ITOPS":
                        $cmstg_user = self::getdephead('IT-Operations');
                        break;    
                    case "ITSA":
                         $cmstg_user = self::getdephead('System Administrator');
                        break;
                    case "ITSEC":
                        $cmstg_user = self::getdephead('IT-System Administrator');
                        break;
                }
                $cmstg = new ChangeManangementStages;
                $cmstg->prstg_prnumber     = $cm->cm_number;
                $cmstg->prstg_stage        = $cmstg_stage;
                $cmstg->prstg_stageuser    = $cmstg_stageuser;
                $cmstg->save();
                $count++;
            }
            $firewallcount = 0;
            while ($firewallcount < count($request->pr_item)) {
                $firewall = new FirewallRequest;
                $firewall->cm_fw_number       =$cm->cm_number;
                $firewall->fw_number          =self::getfirewallNumber($cm->cm_number);
                $firewall->fw_user            =Auth::user()->status_xuser;
                $firewall->fw_stage           =$stages;
                $firewall->fw_purpose         =$request->xpurpose[$firewallcount];
                $firewall->fw_expected_result =$request->xresult[$firewallcount];
                $firewall->fw_server_instance =$request->xinstance[$firewallcount];
                $firewall->fw_src_servername  =$request->xsrcname[$firewallcount];
                $firewall->fw_src_ip          =$request->xsrcip[$firewallcount];
                $firewall->fw_dest_servename  =$request->xdestname[$firewallcount];
                $firewall->fw_dest_ip         =$request->xdestip[$firewallcount];
                $firewall->fw_port_services   =$request->xprsr[$firewallcount];
                $firewall->fw_remarks         =$request->xremarks[$firewallcount];
                $firewall->fw_date_requested  =$request->xdatecr[$firewallcount];
                $firewall->save();
                $firewallcount++;
                }
            
            if($request->hasFile('filename'))
            {
                $path = storage_path('ChangeManagement/'.$cm->cm_number);
                if(!File::exists($path)) {
                    Storage::disk('fw_upload')->makeDirectory($cm->cm_number);
                }
                $uploadcount = 0;
                while ($uploadcount < count($request->filename)) {
                    $filename = $request->filename[$uploadcount];
                    $prupload = new ChangeManagementUploads;
                    $prupload->pr_number      =$pr->pr_number;
                    $prupload->filename       =$filename->getClientOriginalName();
                    $prupload->save();
                    Storage::disk('fw_upload')->put( '/'.$cm->cm_number.'/'.$filename->getClientOriginalName(),File::get($filename));
                    $uploadcount++;
                }
            }
                alert()->success('Request submitted',$cm->cm_number.' has been submitted for review and approval')
                ->showConfirmButton(
                    $btnText = '<a class="add-padding" href="'.route('cm.show',$cm->cm_number).'">View Request</a>', // here is class for link
                    $btnColor = '#fa0031',
                    ['className'  => 'no-padding'], 
                )->autoClose(false);
                return redirect()->back();

            }
        catch (\Throwable $th) 
        {
            alert()->error($th->getMessage())->showConfirmButton('Return', '#fa0031');
            return redirect()->back();
        }

getcmNUmber

public static function getCMNumber() {
       
        $cm = ChangeManagement::orderBy('cm_id','desc')->first();
      
        $last_ticket = $cm->cm_number;
        $tick_date  = substr($last_ticket, 0, 10);
        $tick_date_now = date('Y-m-d');
        $tick_pre   = "-CM-";
        $tick_start = "000";
        $tick_num   = substr($last_ticket, 14, 17);
        
        if ($tick_date == $tick_date_now) { 
            $tick_d1 = $tick_date; 
            $tick_d2 = $tick_pre;
            $tick_dx = $tick_num + 1;
            $tick_d3 = str_pad($tick_dx, 3, '0', STR_PAD_LEFT);
        } else { 
            $tick_d1 = $tick_date_now;
            $tick_d2 = $tick_pre;
            $tick_d3 = $tick_start;
        }
         return $tick_dt = $tick_d1.$tick_d2.$tick_d3;
    }

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(1

生活了然无味 2025-02-17 21:18:01

只需尝试一下:

    public static function getCMNumber()
    {

        $cm = ChangeManagement::whereNotNull('cm_number')->orderBy('cm_id', 'desc')->first();

        if (!$cm) {
            return null;
        }

        $last_ticket = $cm->cm_number;
        $tick_date  = substr($last_ticket, 0, 10);
        $tick_date_now = date('Y-m-d');
        $tick_pre   = "-CM-";
        $tick_start = "000";
        $tick_num   = substr($last_ticket, 14, 17);

        if ($tick_date == $tick_date_now) {
            $tick_d1 = $tick_date;
            $tick_d2 = $tick_pre;
            $tick_dx = $tick_num + 1;
            $tick_d3 = str_pad($tick_dx, 3, '0', STR_PAD_LEFT);
        } else {
            $tick_d1 = $tick_date_now;
            $tick_d2 = $tick_pre;
            $tick_d3 = $tick_start;
        }
        return $tick_dt = $tick_d1 . $tick_d2 . $tick_d3;
    }

Just try this:

    public static function getCMNumber()
    {

        $cm = ChangeManagement::whereNotNull('cm_number')->orderBy('cm_id', 'desc')->first();

        if (!$cm) {
            return null;
        }

        $last_ticket = $cm->cm_number;
        $tick_date  = substr($last_ticket, 0, 10);
        $tick_date_now = date('Y-m-d');
        $tick_pre   = "-CM-";
        $tick_start = "000";
        $tick_num   = substr($last_ticket, 14, 17);

        if ($tick_date == $tick_date_now) {
            $tick_d1 = $tick_date;
            $tick_d2 = $tick_pre;
            $tick_dx = $tick_num + 1;
            $tick_d3 = str_pad($tick_dx, 3, '0', STR_PAD_LEFT);
        } else {
            $tick_d1 = $tick_date_now;
            $tick_d2 = $tick_pre;
            $tick_d3 = $tick_start;
        }
        return $tick_dt = $tick_d1 . $tick_d2 . $tick_d3;
    }
~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文