我在同一个模型中有以下方法。我有另一个表调用pet_tracking
,有一个名为microchip
的列,我必须搜索该列。
public function petInsurance(){
return $this->hasOne('App\PetInsurance');
}
public function petTracking(){
return $this->hasOne('App\PetTracking');
}
public function searchFoundPet($mpc_security, $microchip, $rabies_id,$vet_tag){
$query = $this->with('petInsurance', 'petTracking');
if ($microchip){
$query->orWhere('microchip','like', $microchip);
}
pets = $query->get();
return $pets;
}
唯一的例外是Column not found: 1054 Unknown column 'microchip' in 'where clause'
。
你必须使用JOIN:https://laravel.com/docs/5.6/queries#joins
像这样(如果你的代码显示Pet
模型):
$query->join('pet_tracking', 'pet.id', '=', 'pet_tracking.pet_id');