gpt4 book ai didi

php - Laravel 有很多保存

转载 作者:行者123 更新时间:2023-12-05 04:04:48 26 4
gpt4 key购买 nike

我有两个表要保存数据。其中一个有外键,所以我有一对多的关系。但是,我不明白如何将数据同时保存到两个表中。我有一个查询,其中包含一个表的数据和另一个应附加到第一个表的数据。

这是主要模型

class Site extends Model
{
protected $fillable = ['path', 'site_link'];

public $timestamps = false;

public function features() {
return $this->hasMany('App\SiteFeature');
}
}

这是子模型

class SiteFeature extends Model
{
protected $fillable = ['feature', 'site_id'];

public $timestamps = false;
}

现在我的 Controller 看起来像这样

class SiteController extends BaseController
{
public function index()
{
return Site::all();
}

public function show(Site $id)
{
return $this->response->item($id, new SiteTransformer);
}

public function store(Request $request)
{
$site = Site::create($request->all());

return response()->json($site, 201);
}

我知道它会将它保存为一个数据。我请你帮我把数据分成两个表。在文档中,我找到了存储与数据库中现有模型的关系的方法,但是在创建时我没有那个模型。

最佳答案

这样解决

public function store(Request $request)
{
$site = Site::create([
"path" => $request->path,
"site_link" => $request->link,
]);

foreach ($request->features as $feature) {
$site->features()->save(new SiteFeature(["feature" => $feature]));
}

return response()->json($site, 201);
}

关于php - Laravel 有很多保存,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/52026123/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com