2016-11-28 26 views
-2

我想存儲在數據庫中的當前用戶的user_id在Laravel:如何將參數綁定到Laravel中的Cart :: create?

public function AddToCart(Request $request) 
{ 
Cart::create([ 
'user_id'=>Auth::user()->id, 
'product_id'=>$request->AddToCart 
]); 

return redirect('#'); 
} 

這裏user_id是一個屬性,$userId是我要在數據庫中存儲用戶的ID。但我得到以下錯誤:

SQLSTATE[HY000]: General error: 1364 Field 'user_id' doesn't have a default value

回答

0

它是非常簡單的laravel。你可以這樣做;我們還需要檢查用戶是否實際驗證了d

if (Auth::user()) { 
    Cart::create([ 
    'user_id' => Auth::user()->id, 
    'product_id' => $request->AddToCart 
    ]); 
} 

不要忘記使用Illuminate \ Support \ Facades \ Auth;在你的班級的頂部。

對於您遇到的錯誤,一種可能的解決方案可能是創建新的遷移:php artisan make:migration modify_user_id_in_carts_tabel --table=carts並添加以下內容:請注意,如果您沒有它,可能需要運行composer require doctrine/dbal

$table->unsignedInteger('user_id')->nullable()->change(); 
+0

現在收到錯誤即SQLSTATE [HY000]:常規錯誤:1364字段「USER_ID」沒有默認值 –

+0

就可以使用這個門面頂部。 –

+0

完成 謝謝你對所有:) –

相關問題