我想更新用戶配置文件記錄,但是在提交時,彈出一個錯誤消息“從空值創建默認對象”,當我刪除 if 語句并只鍵入 var_dump($data),, 時,它運行順利,并顯示所有數據,但在 if 命令的存在下,彈出錯誤。我不知道為什么會這樣,請幫忙class home extends Model{ protected $table="homes"; public static function upstore($data){ $firstname=Input::get('fname'); $lastname=Input::get('lname'); $phone=Input::get('phone'); $address=Input::get('address'); $profileimage=Input::get('pimage'); $password=Input::get('pswrd'); $confirmpassword=Input::get('cpswrd'); if( $firstname != '' ){ $homes->fname = $firstname; } if( $lastname != '' ){ $homes->lname = $lastname; } if( $phone != '' ){ $homes->phone = $phone; } if( $address != '' ){ $homes->address = $address; } if( $profileimage != '' ){ $homes->pimage = $profileimage; } if( $password != '' ){ $homes->pswrd = $password; } if( $confirmpassword != '' ){ $homes->cpswrd = $confirmpassword; } $homes->save(); } }它顯示這個錯誤從空值創建默認對象
2 回答

慕村225694
TA貢獻1880條經驗 獲得超4個贊
在第一個 if 語句之后,您嘗試將一個屬性設置為一個值,但您從未將 初始化$homes
為任何對象。
所以上面的 if 語句:
$homes = new home;

婷婷同學_
TA貢獻1844條經驗 獲得超8個贊
正如我所看到的,您的模型中有 @upstore 方法。我可以在這里看到一些問題:
你到底是為了什么而使用控制器?僅用于顯示視圖?控制器是將輸入請求轉換為輸出請求的應用程序的一部分,因此請將此邏輯切換到控制器中,因為如果您自己保留此約定,您在獲得工作時很容易遇到一些麻煩。
if ($user, $address..) - 為什么不使用 Laravel 驗證器?=)
您的正確方法
!= ''
是:(Request::has('field')
不要以為我這么說只是因為我想看起來更聰明,但這些錯誤會使您的代碼在您開始在團隊中工作時立即拒絕。
回到答案。我相信如果你修復了所有這些東西,代碼應該可以正常工作。
- 2 回答
- 0 關注
- 140 瀏覽
添加回答
舉報
0/150
提交
取消