php - 为什么我的简单 Laravel 查询返回递归?

标签 php mysql laravel recursion eloquent

我有两个 Eloquent 模型,它们是一对一的关系:一个 mission 有一个 vehicle,一个 vehicle 属于一个任务

我已经在我的两个模型中建立了如下关系:

class Vehicle extends Eloquent {
    public function mission() {
       return $this->belongsTo('Mission');
    }
}

class Mission extends Eloquent {
    public function vehicle() {
        return $this->hasOne('Vehicle');
    }
}

我正在尝试根据车辆名称获取整个任务和车辆行:

        $results = Mission::with('vehicle')->whereHas('vehicle', function($q) {
            $q->where('name','Falcon 9 v1.0');
    });

我希望它能工作,但它没有,而且,返回一个递归的 Eloquent\Builder 对象,这让我的浏览器崩溃了。这是为什么?

最佳答案

您必须调用get 来获取结果:

$results = Mission::with('vehicle')->whereHas('vehicle', function($q) {
    $q->where('name','Falcon 9 v1.0');
})->get();

关于php - 为什么我的简单 Laravel 查询返回递归?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/28005893/

相关文章:

php - 如何使用 preg_replace 去除过多的单个空格

Mysql 使用 Limit 使用占位符动态构建查询,如何在存储过程中创建它

mysql - 尝试将两个表关联在一起

laravel - 数据正在db中插入,但显示错误

jquery - jquery 中的 Blade 产量

laravel - 使用node_modules/.bin/webpack时无法读取未定义的属性(mix.initialize())

php - 关于如何向手机发送短信的任何好的 PHP 教程?

php - 如何格式化 PHP include() 绝对(而不是相对)路径?

php - 设置了什么内容类型 header ?

php - 为什么 Doctrine 会生成不同的约束名称?