3 回答

TA貢獻1810條經驗 獲得超4個贊
我在您的表遷移文件中沒有看到thinking_traps
型
class ThoughtJournal{
// Add it's type to casts as array
public $casts = ['thinking_traps'=> 'array'];
// Add it to fillables if you haven't
public $fillable = ['thinking_traps',...];
//...
}
存儲
其次,在您的存儲方法中,當復選框中沒有選擇任何項目時,您需要將其設置為數組,如下所示
...
$entry->thinking_traps = $request->has('thinking_traps')
? $request->get('thinking_traps')
: [];
作為預防措施,對于驗證,您可以像這樣進行驗證:
$this->validate($request, [
'thinking_traps' => 'nullable|in:1,2,3' // your values
]);
遷移
對于遷移,我沒有看到您在那里設置了列,您可以像這樣修改遷移文件:
// You can have it as json
$table->json('thinking_traps')->nullable();
// or string
$table->string('thinking_traps')->nullable();
或者,如果您不想在 shell/cmd 中重新創建表,則可以創建一個單獨的遷移文件,如下所示:artisan
php artisan make:migration add_thinking_traps_to_thoughtjournal_table --table=thoughtjournal
此命令將單獨添加一個遷移文件,并像往常一樣添加該列,然后您可以添加該列。php artisan migrate
如果可行,請告訴我們。

TA貢獻1786條經驗 獲得超11個贊
發布值將是一個數組,即使您選中了一個復選框。
$thinking_陷阱 = $request->輸入(“thinking_traps”);
$thinking_traps 將是一個數組 因此請嘗試將數組值保存在單獨的表中,作為具有外鍵的多行
- 3 回答
- 0 關注
- 174 瀏覽
添加回答
舉報