关联表操作

我有这样的数据模型
foods表
id | name | price |

orders表
id | restaurant_id | customer_id |

food_order表
food_id | order_id | quantity |

当我想获取到对应order中的食物的数量时,使用
foreach($order->foods as $food){
$food->pivot->quantity;
}

但我想更新关联表food_order的quantity应该怎么做呢?能举个例子吗?

还有我有时候想自己创建个pivot的模型,我看了一下文档。但我不太懂它的意思,
class order_food extends Eloquent {
public function newPivot(Model $parent, array $attributes, $table, $exists)
{
  return new YourCustomPivot($parent, $attributes, $table, $exists);
}
}

class order extends order_food {
...
}

是这样子吗?能解析一下吗? 谢谢各位大侠
已邀请:

kaxiu

赞同来自:

没有人说说这个问题吗?

那我就能这样写了
DB::table('order_food')->whereRaw('order_id = ? and food_id = ?',array($order_id,$food_id))-update('quantity', $quantity);

希望有人给出更好的答案

hellosnow

赞同来自:

官方文档中写着的如果您想让 pivot 可以包含其他枢纽表的字段,可以在定义关联方法时指定那些字段:
return $this->belongsToMany('Role')->withPivot('foo', 'bar');

现在可以在 Role 模型的 pivot 对象上取得 foo 和 bar 属性了。

要回复问题请先登录注册