我在Laravel版本10中尝试创建关系示例,而不将它们持久化到数据库中,直到调用save()
。
我有类似以下的东西。
$detail = OrderDetail::make([
'example' => 'example',
]);
$detail->imprints()->make(['imprintID' => 1]);
// ... Other code is executed
$detail->save(); // Should persist the detail and the imprint
字符串
我已经尝试了一些不同的东西,前提是我希望OrderDetail模型能够知道印记,因为OrderDetail在最终持久化到数据库中之前会被传递给几个不同的类。
有没有一种方法可以在不建立自己的关系结构的情况下实现这一点?
imprints方法很简单,
class OrderDetail extends Model{
public function imprints(): HasMany
{
return $this->hasMany(OrderDetailImprint::class);
}
}
型
1条答案
按热度按时间b4wnujal1#
正如@lagbox所说的那样,而且通过我自己的研究,似乎没有一种优雅的方法可以将非持久化的相关模型推到父模型上。
所以在匆忙中,我在我的BaseModel上总结了我自己的解决方案,如下所示。
字符串
我不会接受这个答案,因为我仍然相信在Laravel中应该有一种方法可以做到这一点。