Laravel 5.4 存储质量分配模型和关系
Laravel 5.4 storing mass assignment model and relationship
我不确定在 Laravel 5.4 中插入批量分配关系时的最佳做法 - 我是该框架的新手。下面的代码工作正常,但是你能告诉我有没有一种方法可以简单地插入一行(插入关系)?
我试过查看“save()”和 'push()',但它没有按预期工作。如果交易规模扩大,这会产生影响吗?
我有一个 Listing 模型,具有 hasOne 关系:
public function garage()
{
return $this->hasOne('App\Garage', '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 插入数据,我该怎么做,因为以下只是 return 列表模型而不是车库关系?是的,我知道我不会在现实世界的应用程序中这样做。
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();
}
但是如果你需要listing对象,跟之前一样就好了!
返回关系模型
如果你也想 return garage
关系模型,你可以像正常访问它一样简单地做到这一点 class 属性:
return \Response::json([
'message' => 'Post Created Succesfully',
'data' => [$listing, $listing->garage]
//Access collection of garage relation ship
]);
我不确定在 Laravel 5.4 中插入批量分配关系时的最佳做法 - 我是该框架的新手。下面的代码工作正常,但是你能告诉我有没有一种方法可以简单地插入一行(插入关系)?
我试过查看“save()”和 'push()',但它没有按预期工作。如果交易规模扩大,这会产生影响吗?
我有一个 Listing 模型,具有 hasOne 关系:
public function garage()
{
return $this->hasOne('App\Garage', '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 插入数据,我该怎么做,因为以下只是 return 列表模型而不是车库关系?是的,我知道我不会在现实世界的应用程序中这样做。
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();
}
但是如果你需要listing对象,跟之前一样就好了!
返回关系模型
如果你也想 return garage
关系模型,你可以像正常访问它一样简单地做到这一点 class 属性:
return \Response::json([
'message' => 'Post Created Succesfully',
'data' => [$listing, $listing->garage]
//Access collection of garage relation ship
]);