Laravel 5 Laravel 5.4存储质量分配模型和关系

Laravel 5 Laravel 5.4存储质量分配模型和关系,laravel-5,mass-assignment,Laravel 5,Mass Assignment,我不确定在Laravel 5.4中插入批量分配关系时的最佳实践-我是该框架的新手。下面的代码工作正常,但是您能告诉我有没有一种方法可以简单地插入一行(插入关系) 我试着看一下“save()”和“push()”,但它没有按预期工作。如果交易规模扩大,这会产生影响吗 我有一个列表模型,具有hasOne关系: public function garage() { return $this->hasOne('App\Garage', 'post_id'); }

我不确定在Laravel 5.4中插入批量分配关系时的最佳实践-我是该框架的新手。下面的代码工作正常,但是您能告诉我有没有一种方法可以简单地插入一行(插入关系)

我试着看一下“save()”和“push()”,但它没有按预期工作。如果交易规模扩大,这会产生影响吗

我有一个列表模型,具有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 \Response::json([
'message' => 'Post Created Succesfully',
'data' => $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
]);

为什么要用相同的数据创建两个对象?(一个列表和一个车库)@manniL我猜请求包含这两个模型的数据,并且
create
通过每个可填充字段进行筛选。是的,这是正确的api包含这两个模型的数据,因此我基本上需要将这两个模型作为关系(PK和FK)创建。对不起,我不想发布我所有的代码