我在Laravel中设置了以下关系:
OrderStatus Model
- hasMany('Order')
Order Model
- 'belongsTo('OrderStatus');
数据库设置为 orders
表和 order_statuses
表 . orders
表有 order_status_id
的字段 .
保存订单时,我通过获取相应的订单状态模型手动设置 order_status_id
,如下所示:
$status = OrderStatus::where(['name'=>'sample_status'])->firstOrFail();
$order->order_status_id = $status->id;
$order->save();
我想知道是否有内置函数来执行此操作而不是手动设置 order_status_id
. 我想出这些是否适合我的用例 . 我认为问题是我直接使用子模型(顺序),并尝试设置它的父级 . 这有功能吗?
2 回答
当然你可以这样做:
(
status()
是belongsTo关系 . 您可能需要调整该名称)保存新相关模型关系的正确方法如下:
文档链接:http://laravel.com/docs/4.2/eloquent#inserting-related-models