Php 使用Elounting将订单附加到用户模型
所以我有两个模型,一个用户和一个订单(一个用户有很多订单) 在我的模型中,关系设置如下: 用户模型Php 使用Elounting将订单附加到用户模型,php,laravel,eloquent,Php,Laravel,Eloquent,所以我有两个模型,一个用户和一个订单(一个用户有很多订单) 在我的模型中,关系设置如下: 用户模型 public function orders() { return $this->hasMany('App\Order'); } public function user() { return $this->belongsTo('App\User'); } 订单模式 public function orders() { return $this->ha
public function orders()
{
return $this->hasMany('App\Order');
}
public function user()
{
return $this->belongsTo('App\User');
}
订单模式
public function orders()
{
return $this->hasMany('App\Order');
}
public function user()
{
return $this->belongsTo('App\User');
}
我正在使用以下代码将当前登录的用户附加到订单
Auth::user()->orders()->attach($order_id);
我相信这是正确的,但我在执行代码时遇到了以下错误:
调用未定义的方法Illumb\Database\Query\Builder::attach()
有人能解释一下我做错了什么吗?我认为您必须使用associate()方法,而不是attach(),因为您正在更新belongsTo关系 试试这个:
$order = App\Order::findOrFail($order_id);
$user->orders()->associate($order);
$user->save();
我认为您必须使用associate()方法,而不是attach(),因为您正在更新belongsTo关系 试试这个:
$order = App\Order::findOrFail($order_id);
$user->orders()->associate($order);
$user->save();
attach
方法用于。要将订单与场景中的用户关联,您应该能够通过以下方式保存订单模型:
$order = App\Order::findOrFail($order_id);
Auth::user()->orders()->save($order);
attach
方法用于。要将订单与场景中的用户关联,您应该能够通过以下方式保存订单模型:
$order = App\Order::findOrFail($order_id);
Auth::user()->orders()->save($order);
您使用的是哪一版本的Laravel?我使用的是Laravel v5.1 LTS您使用的是哪一版本的Laravel?我使用的是Laravel v5.1 LTS这只返回未定义的方法associate(),而不是它只返回未定义的方法associate(),而不是它。您需要首先使用
$order=App\order::findOrFail($order\u id)获取$order代码>正确<代码>$order
需要是订单模型的实例。我不确定你是否已经有了它-感谢你指出这一点(我将把它添加到我的答案中以供参考)。你需要首先使用$order=App\order::findOrFail($order\u id)获取$order代码>正确<代码>$order
需要是订单模型的实例。我不确定你是否已经知道了——谢谢你指出这一点(我将把它添加到我的答案中以供参考)。