我不确定在 Laravel 5.4 中插入质量分配关系时的最佳实践 - 我是框架的新手。下面的代码工作正常,但是你能告诉我有没有办法简单地进入一行(插入关系(?
我试图查看"save(("和"push((",但它没有按预期工作。如果交易规模扩大,这会产生影响吗?
我有一个列表模型,具有一个关系:
public function garage()
{
return $this->hasOne('AppGarage', 'post_id');
}
首先我有一些验证,然后我使用以下内容进行存储,我想将其简化为一行代码:
public function store(Request $request)
{
// Validation has passed, insert data into database
$listing = Listing::create($request->all());
$listing->Garage()->create($request->all());
}
另外,如果我想返回插入的数据,我将如何做到这一点,因为以下内容仅返回列表模型而不是车库关系?是的,我知道我不会在现实世界的应用程序中这样做。
return Response::json([
'message' => 'Post Created Succesfully',
'data' => $listing
]);
任何帮助都非常感谢
方法链接
您的store
方法看起来不错。但是,如果您不需要listing
对象本身,则可以链接方法:
public function store(Request $request)
{
// Validation has passed, insert data into database
$garage = Listing::create($request->all())
->garage()->create($request->all();
}
但是,如果您需要列表对象,则可以像以前一样
!返回关系模型
如果你也想返回garage
关系模型,你可以简单地通过像普通类属性一样访问它来做到这一点:
return Response::json([
'message' => 'Post Created Succesfully',
'data' => [$listing, $listing->garage]
//Access collection of garage relation ship
]);