【发布时间】:2016-03-11 06:46:40
【问题描述】:
我想通过以下调用向模型添加新标签:
Modul::find($id)->tags()->create($request->all());
标签Modul中的create方法是:
public static function create(array $attributes = [])
{
$attributes['user_id'] = Auth::user()->id;
return parent::create($attributes);
}
但它说 user_id 没有设置。
当我打电话时
Modul::find($id)->tags()->create(array_merge($request->all(), ['user_id' => Auth::user()->id]));
一切正常。
我在 create 函数中进行了 echo 调用,但它从未被调用过。那么是否有我必须覆盖的第二个创建函数?
【问题讨论】:
-
你会在创建函数中检查
dd(Auth::user()->id);吗? -
我做到了,但我只是收到未设置 user_id 的错误。当我写
$attributes['user_id'] = 1时,它说 user_id 没有设置。 -
user_id是否添加到$fillable数组中? -
是的。正如我所说:当我将 user_id 与请求数组合并时,一切正常。但我想将它添加到 create 函数中,这样我就不必在每次创建调用时合并。
标签: laravel relationship laravel-5.1