Ben*_*nRH 20 polymorphic-associations laravel eloquent laravel-4
我正在尝试建立一个多态一对一的关系(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');
});
Run Code Online (Sandbox Code Playgroud)
mar*_*nuy 25
是的,有一个morphOne方法,我认为在这种情况下你应该使用它:https://github.com/laravel/framework/blob/5.2/src/Illuminate/Database/Eloquent/Model.php#L811.
你也可以使用
$table->morphs('addressable');
Run Code Online (Sandbox Code Playgroud)
代替
$table->integer('addressable_id');
$table->string('addressable_type');
Run Code Online (Sandbox Code Playgroud)
我在L4的自定义包中使用了morphOne,效果很好.
| 归档时间: |
|
| 查看次数: |
8290 次 |
| 最近记录: |