Php 拉威尔在一段感情中被抛弃了
我有一个订单模型和一个服务模型 可以删除订单(软删除)。 我想列出所有订单,已删除和活动,以及它所属的服务 订单型号:Php 拉威尔在一段感情中被抛弃了,php,laravel,Php,Laravel,我有一个订单模型和一个服务模型 可以删除订单(软删除)。 我想列出所有订单,已删除和活动,以及它所属的服务 订单型号: class Order extends Model { use SoftDeletes; protected $dates = ['deleted_at']; public function service () { return $this->belongsTo('Service'); } } class S
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');
}
}
服务模式:
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');
}
}
我尝试的是:
$company=Company::with('orders.service'=>function ($query) {
$query->withTrashed();
},'services'])->where('id',$company->id)->get();
但这不会返回订单(目前我的数据库中只有1个已删除订单)
有什么想法吗
谢谢 您可以使用
public function order() {
return $this->belongsToMany('Order')->withTrashed();
}
首先,一个
belongstomy
关系总是伴随着另一个belongstomy
关系在另一边,所以你没有正确处理这些关系
如果需要多对多关系,则两个模型都应该与另一个模型具有belongToMany
关系,并且必须具有透视表
如果您想要一对多关系,一个模型应该具有
belongsTo
关系,而另一个具有many
关系。是,但这将始终返回所有已删除的订单。如果我不需要页面上已删除的订单,该怎么办?另一个我不引以为傲的黑客解决方案是定义两个关系,一个有垃圾,另一个没有。@user3844579请确认您想要的是哪一个关系?@user3844579请用canges更新您问题的代码。此外,请解释您尝试过的代码以及您试图实现的目标。