php - Laravel 获取具有关系枢轴条件的模型

标签 php laravel pivot eloquent laravel-5.5

我需要获得所有 appealsappeal_stage.expiration_date 小于 NOW()

enter image description here

现在我有以下解决方案:

public function scopeExpired($query) {
    $query->join('appeal_stage', 'appeals.id', 'appeal_stage.appeal_id')
        ->where('appeal_stage.expiration_date', '<=', new Expression('NOW()'));
}

但结果模型转储显示连接表被识别为数据透视表: enter image description here

所以,我想问一下 - 有没有更方便的方法来执行这个请求? 我的建议是以某种方式使用 Illuminate\Database\Eloquent\Relations\Pivot,但我不太明白,这里如何使用 Pivot。

UPD 1

模型有下一个关系:

public function stages()
{
    return $this->belongsToMany(Stage::class)->withPivot('prolongated_count', 'expiration_date')->withTimestamps();
}

public function appeals() {
    return $this->belongsToMany(Appeal::class);
}

最佳答案

你应该能够做这样的事情:

$appeal->stages()->wherePivot('expiration_date', '<', $now)->get()

关于php - Laravel 获取具有关系枢轴条件的模型,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/46408624/

相关文章:

php - Elasticsearch查找输入词和所有同义词

python - 使用 Spark 将列转置为行

sql - 数据透视表字符串在数据透视列下分组?

php - Yii2 - 获取所有唯一模型属性值的最佳方法是什么?

php - 在 PHP 中,多次运行 session_start() 有什么害处吗?

javascript - Vue-Laravel 表单提交

sql - 列到 MySql 中行的简单枢轴

php - 如何从命令行运行用 PHP 编写的 Selenium 测试

Php soap 客户端 + 得到空响应

php - Laravel 5.4 禁用注册路由