我想让商店的口才更加简化为:
$keyword = Keyword::create([
'keyword' => $request->input('keyword'),
'micro_price' => $request->input('micro_price'),
'macro_price' => $request->input('macro_price'),
'cmd' => $request->input('cmd'),
]);
而不是:
$keyword = new Keyword;
$keyword->keyword = $request->input('keyword');
$keyword->micro_price = $request->input('micro_price');
$keyword->macro_price = $request->input('macro_price');
$keyword->cmd = $request->input('cmd');
$keyword->user()->associate(Auth::user());
$keyword->server()->associate($request->input('title'));
$keyword->save();
但是我在关键字数据库表中有一个问题,有2个外键(server_id
和user_id
),我希望我的雄辩模型分配这2个外国人键正确,但我不知道如何在简化版本中。
提前感谢您的帮助!
答案 0 :(得分:3)
使用mass assignment功能和all()
请求方法:
$keyword = Keyword::create($request->all());
如果您在$fillable
模型中定义Keyword
属性,它将会起作用:
protected $fillable = ['keyword', 'cmd', 'micro_price', 'mini_price'];
如果您需要将关键字与两个模型相关联,则可以手动定义外键:
$data = $request->all();
$data['user_id'] = auth()->id();
$data['server_id'] => $request->title;
$keyword = Keyword::create($data);
要将对象与一个模型相关联,您可以使用关系:
auth()->user()->keywords()->create($request->all());