我有一个Order模型和一个Service模型。
可以删除订单(软删除)。我想列出所有的订单,删除的和活动的,以及它所属的服务。
<<p> 订单模型/strong>:class Order extends Model
{
use SoftDeletes;
protected $dates = ['deleted_at'];
public function service ()
{
return $this->belongsTo('Service');
}
}
服务模型:
class Service extends Model
{
public function order()
{
return $this->belongsToMany('Order');
}
}
What I tried:
$company=Company::with('orders.service'=>function ($query) {
$query->withTrashed();
},'services'])->where('id',$company->id)->get();
但这返回没有订单(现在我只有一个删除订单在我的数据库)
任何想法?
谢谢! !
可以使用
public function order() {
return $this->belongsToMany('Order')->withTrashed();
}
首先,一个belongsToMany
关系总是与另一个belongsToMany
关系在另一边,所以你没有做正确的关系。
如果你想要一个多对多的关系,两个模型都应该有一个belongsToMany
关系到另一个模型,你必须有一个数据透视表。
如果你想要一个一对多的关系,一个模型应该有belongsTo
关系,另一个模型应该有hasMany
关系。