중첩 된 검색 쿼리를 만들려고하지만이 오류가 발생합니다. company_id로 가입 한 회사 이름을 검색하려고합니다.Laravel 5 중첩 검색 쿼리
SQLSTATE[42S22]: Column not found: 1054 Unknown column 'company.name' in 'where clause' (SQL: select count(*) as aggregate from `position` where `to_date` >= 2016-06-16 and `company_id` = 123795854693734 and `title` like %searchquery% and `company`.`name` like %searchquery% and `location` like %%)
여기 모델은 완벽하게 작동 내 컨트롤러 기능
public function Search(){
$keyword = Input::get('q');
$location = Input::get('l');
$data = Position::where('to_date', '>=', date('Y-m-d'))
->where('company_id', '=', $company_id)
->where('title', 'like', '%'.$keyword.'%')
->where('company.name', 'like', '%'.$keyword.'%')
->where('location', 'like', '%'.$location.'%')
->orderBy('from_date', 'desc')
->paginate(10);
$data = array(
'data' => $data,
);
return view('myview', $data);
}
입니다. 하지만 어쨌든 여기에 있습니다.
namespace App;
use Illuminate\Database\Eloquent\Model;
class Position extends Model {
protected $table = 'position';
protected $guarded = array("id");
protected $hidden = array();
protected $appends = array('local_ad');
protected $fillable = ['title', 'company_id', 'location'];
public function company() {
return $this->belongsTo('App\Company', 'company_id', 'id');
}
}
Laravel에도 익숙하지 않지만 오류 및 코드는 회사 테이블에 대한 가입이 누락되었다고 제안합니다. – Oldskool