สวัสดี ฉันมีปัญหากับ 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();
ข้อความแสดงข้อผิดพลาด:
เวอร์ชันเซิร์ฟเวอร์ MySQL สำหรับไวยากรณ์ที่ถูกต้องเพื่อใช้ใกล้ 'โดยที่
id
= ?)) >= 1' ที่บรรทัด 1 (SQL: เลือก * จากplaces
โดยที่ (เลือกจำนวน (*) จากcontacts
โดยที่contacts
.places_id
=places
.id
และcontacts
= (เลือก * โดยที่id
= 2223)) >= 1)
ฉันรู้ว่ามันหายไป "จาก" citites
แต่ฉันไม่รู้ว่าจะต้องทำอย่างไร