Laravel:搜索关系数据

问题描述 投票:0回答:1

我在同一个模型中有以下方法。我有另一个表调用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'

php forms laravel search eloquent
1个回答
0
投票

你必须使用JOIN:https://laravel.com/docs/5.6/queries#joins

像这样(如果你的代码显示Pet模型):

$query->join('pet_tracking', 'pet.id', '=', 'pet_tracking.pet_id');
© www.soinside.com 2019 - 2024. All rights reserved.