Laravel陷入了困境

时间:2016-11-17 11:36:16

标签: php laravel

我有订单模型和服务模型。

可以删除订单(软删除)。 我想列出所有订单,删除和活动以及它所属的服务。

订单型号

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个已删除的订单)

有什么想法吗?

谢谢!

1 个答案:

答案 0 :(得分:1)

首先,belongsToMany关系总是与另一方的另一个belongsToMany关系相关,所以你没有做好关系。

如果你想要多对多的关系,两个模型应该与另一个模型有belongsTo的关系,你必须有一个数据透视表。

如果您想要一对多关系,则一个模型应该具有hasMany关系,另一个模型应该具有android { ... testOptions { unitTests.returnDefaultValues = true } 关系。