php - laravel wherebetween 关系不起作用

标签 php laravel eloquent

我在 mysql 中有两个表,1.Vehicles 和 2.Locations 我正在使用 Eloquent 关系来定义车辆表与位置的关系。

这是我的车辆模型的样子。

namespace App;

use Illuminate\Database\Eloquent\Model;
class VehicleModel extends Model {
function locations(){
        return $this->hasMany("App\locations", "vehicle_id", "id");
    }
}

我正在尝试运行一个查询,以获取两个给定时间之间特定车辆的位置。

这是我正在尝试做的:

App\VehicleModel::find(3)->location->whereBetween('locations.time', $range); 

我期望上面的查询会给我日期之间的位置,当我在没有关系的情况下运行时它会这样做。但是当我在关系中运行时,我遇到了意外错误。

PHP 错误:在第 1 行调用成员函数 whereHas() on null

请帮我看看哪里出错了。

提前致谢。

最佳答案

将其更改为:

App\VehicleModel::find(3)->locations()->whereBetween('time', $range)->get();

关于php - laravel wherebetween 关系不起作用,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/48156429/

相关文章:

laravel - 在 Eloquent 中定义自定义属性

php - 中间件中的 Slim PHP 路由

php - 如何计算最大值可能的组合数量?

laravel - DropZone.js 上传无法以编程方式进行

php - Laravel foreach 每个项目递增 3

php - Laravel Controller 功能全局应用

ios - 通过外键 (API) 保存/检索数据

php - 处理多对多表,第三个表需要更多属性

php - MySQL "LOAD LOCAL DATA INFILE"

php - 我想在发布后获得一个 id(自动增量)并将其发布到其他表中