필터로 작동하는 입력 필드가있는 테이블이 있습니다. 관계가있는 Orders 테이블과 Users 테이블의 값이 있습니다.Laravel : 관계가있는 쿼리 작성기
예컨대 :
Order Id | User Full Name | Order Price | Date |
[order filter] [user name filter] [order date filter]
어떻게 관계를 통해 사용자 테이블에서 값을 필터링 할 수 있습니다?
이 과정의 오류를 반환
public function name($name)
{
return $this->builder->where('name', 'LIKE', '%$name%')->orWhere('surname', 'LIKE', '%$name%');
}
오류 :
QueryException in Connection.php line 770:
SQLSTATE[42S22]: Column not found: 1054 Unknown column 'name' in 'where clause' (SQL: select count(*) as aggregate from `orders` where (`name` LIKE %$name% or `surname` LIKE %$name%))
열 이름이'name' 또는'User Full Name'입니까? 오류 메시지가 매우 간단 명료합니다 ->'열을 찾을 수 없습니다 : '1054 알 수없는 열'이름 '에'where 절 '. 그래서'name' 컬럼은 존재하지 않으므로 실제 컬럼 이름은 무엇입니까? – Sean
귀하의 질의는 주문 테이블에서 '이름'열을 찾고, 아마도 존재하는 관련 사용자 테이블에서는 찾지 않습니다. MySQL에서 쿼리를 작성하는 방법을 알고 있습니까? – sunomad
@Sean, 그것이 존재하지 않는다는 것을 알고 있습니다. 사용자 테이블에서 검색하고 싶습니다. 주문 테이블은 그것과 관계가 있습니다. 문제는 어떻게 접근 할 것인가입니다. – Rudolph