gpt4 book ai didi

laravel - Laravel Eloquent 多态一对一?

转载 作者:行者123 更新时间:2023-12-03 12:12:10 24 4
gpt4 key购买 nike

我正在尝试建立一个多态的一对一关系(has_one和belongs_to的多态等效项),我有一个Address模型,还有其他几个我想拥有一个地址的模型。但是,我对文档的措辞感到困惑。我看过morphMany方法,但是我的问题是:即使我只希望它有一个地址,我也应该使用morphMany吗?还是应该使用类似morphOne方法的东西?

编辑:我的Address模型具有这些字段,只是为了帮助可视化:

Schema::create('addresses', function ($table)
{
$table->increments('id');
$table->string('street');
$table->string('street_more')->nullable();
$table->string('city');
$table->string('state')->nullable();
$table->string('country');
$table->string('postal_code');
$table->integer('addressable_id');
$table->string('addressable_type');
});

最佳答案

是的,有一个morphOne方法,我想在这种情况下应该使用:https://github.com/laravel/framework/blob/5.2/src/Illuminate/Database/Eloquent/Model.php#L811

你也可以用

$table->morphs('addressable');

代替
$table->integer('addressable_id');
$table->string('addressable_type');

我在L4的自定义程序包中使用了morphOne,效果很好。

关于laravel - Laravel Eloquent 多态一对一?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/22012877/

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