Eloquent:从whereHas块中选择字段失败

时间:2018-05-25 11:28:46

标签: mysql laravel eloquent

我使用wherewhereHasorWhereHas等组合得到了一个稍微复杂的SQL查询。

一切顺利,但当我将'custom_records.custom_title'(见下文)添加到选择字段时,它会失败并显示:

The Response content must be a string or object implementing __toString(), "boolean" given.

有什么想法吗? 这是它的片段: `

$record = $this->record->newQuery();`

 $record->whereHas('customRecords', function ($query) use ($searchTerm) {
            $query->where('custom_title', 'like', '%'.$searchTerm.'%');
        });

 return $record->get([
            'records.id',
            'records.another_field',
            'records.another_field_2',
            'custom_records.custom_title',
        ]);

更新 当我在mysql客户端上运行生成的SQL查询时,它返回:

Unknown column 'custom_records.custom_title',' in 'field list'

1 个答案:

答案 0 :(得分:1)

您无法选择space1x。由于它是custom_records.custom_title关系,因此每HasMany可以有多个custom_records

你必须做这样的事情:

record