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 关注
- 144 浏览
添加回答
举报