【发布时间】:2019-10-03 09:22:34
【问题描述】:
我想知道同时保存两个相互关联的不同模型的最佳方法是什么。假设我有一个 Subscription 模型和一个 Participant 模型,当我创建一个 Participant 时,它必须创建一个 Subscription 并将 Participant 链接到它。
例子:
class Subscription extends Model
{
public function participants()
{
return $this->hasMany('App\Participant');
}
}
class Participant extends Model
{
public function subscription()
{
return $this->belongsTo('App\Subscription');
}
}
保存:
$s = new App\Subscription();
$p = new App\Participant();
$s->participants()->save($p);
但是订阅没有保存。任何想法保存它们的最佳做法是什么,检查它们是否已保存并建立关系?
【问题讨论】:
-
为什么要“同时”保存它们?你不能
$s->save; $s->participants()->save($p);吗? -
是的,我可以!但是,当转到下一行时,保存功能是否总是完成?而当参与者的保存失败时,我将如何处理订阅模型?
-
啊,我明白你的意思了。我会回复的
标签: laravel eloquent laravel-6 eloquent-relationship