Laravel:搜索关系数据
Posted
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了Laravel:搜索关系数据相关的知识,希望对你有一定的参考价值。
我在同一个模型中有以下方法。我有另一个表调用pet_tracking
,有一个名为microchip
的列,我必须搜索该列。
public function petInsurance(){
return $this->hasOne('AppPetInsurance');
}
public function petTracking(){
return $this->hasOne('AppPetTracking');
}
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');
以上是关于Laravel:搜索关系数据的主要内容,如果未能解决你的问题,请参考以下文章