【发布时间】:2014-09-30 11:54:58
【问题描述】:
嘿,我在我的网站 Phones number lookup 上遇到了 Laravel 的问题。我尝试通过联系表选择具有我选择的城市的地方。
我的模型类: 地方类:
class Places extends Eloquent {
public function contacts()
{
return $this->hasOne('Contacts');
}
public function clubs()
{
return $this->hasOne('Clubs');
}
}
联系人类:
class Contacts extends Eloquent {
public function cities()
{
return $this->hasOne('Cities');
}
}
城市类:
class Cities extends Eloquent {
}
我的查询:
$view->clubs = Places::whereHas('contacts',function ($q) use($city_id){
$q->where('contacts', function ($q) use($city_id){
$q->where('id', $city_id);
});
})->get();
错误信息:
在第 1 行的 'where
id= ?)) >= 1' 附近使用正确语法的 MySQL 服务器版本(SQL:select * fromplaceswhere (select count(*) fromcontactswherecontacts.places_id=places.id和contacts= (select * whereid= 2223)) >= 1)
我知道它缺少“来自”citites 但我不知道如何实现它。
【问题讨论】:
-
一个地方只有一个联系人,一个联系人只有一个城市,因此一个地方只有一个城市,对吗?