即使没有条件,Laravel QUERY也不会产生任何结果

时间:2017-10-18 23:05:55

标签: php mysql laravel

我的查询在昨天工作正常,但今天,我的查询产生空结果。即使没有这样的条件,我也试过了

"select `person`.`name`, `path`, `person`.`username`, `price`, `service`, `person`.`city`, `person`.`streetaddress`, `person`.`postalcode`, `date` from `person` inner join `services` on `person`.`id` = `services`.`person_id` inner join `imagesforperson` on `person`.`id` = `imagesforperson`.`person_id` group by `person`.`name

当我尝试使用toSql()调试它时,这是我的查询。如您所见,我没有提供任何WHERE条件,但它仍然返回空集合。

Collection {#212 ▼
  #items: []
}

有人可以建议可能出错的地方吗?调试此问题的任何提示?

我正在使用Larvel 5.4,使用MySQL作为数据库。

代码:

$person = \App\person::query()
        -> select (['person.name', 'path', 'person.username', 'price', 'service','person.city', 'person.streetaddress', 'person.postalcode', 'date'])
        -> groupBy('person.name')
        -> join ('services' , 'person.id', '=', 'services.person_id')
        -> join ('imagesforperson' , 'person.id', '=', 'imagesforperson.person_id')
        -> get();

dd($person) //to debug, this returns empty collection as posted above

1 个答案:

答案 0 :(得分:3)

您的查询看起来有两个内部联接,这意味着如果这些相关记录不存在(例如servicesimagesforperson),您将无法获得任何结果。你可能会考虑从那里开始。也许您可以尝试删除联接和/或使它们保持联接或某些内容,这样即使不存在personservices,您的查询仍会返回imagesforperson条记录。