2016-11-10 2 views
1

Laravel 5.2를 사용하여 데이터베이스에서 레코드를 검색하고 있습니다.Laravel 5.2의 동일한 테이블에서 외래 키를 사용하여 레코드를 검색 할 수 없습니다.

내 테이블 (단순)

services: 
id 
name 
parent_id 

PARENT_ID 동일한 테이블에 FK (services.id하는 FK)이다. 서로

$category->services->where('parent_id', 0) 

선택 조건이 제대로 작동 :

이 코드는 빈 컬렉션을 반환합니다. 전의.

$category->services->where('name', 'foo) 

빈 결과가 없습니다.

원시 SQL은 잘 너무 작동합니다

SELECT * FROM services WHERE parent_id = 0; 

어떤 웅변으로 잘못 또는 어떻게 콘크리트 PARENT_ID 레코드를 검색 할 수있는 방법으로 그것을 사용할 수 있나요?

답변

1

귀하의 질의는 다음과 같이해야합니다 :

+0

이런 식으로 할 시도

$services = $category->services()->where('parent_id', 0)->get() 
, 가지고 '를 분명히 \ 지원 \ 컬렉션에 대한 인수 1 누락 :()' – Svyat

+1

있는지 확인합니다 괄호를 사용하는 얻을'()''services''를'services()'로 사용합니다. –

+0

감사! 이것을 위해 몇 시간을 낭비했습니다 - 기본을 잊었습니다. – Svyat

관련 문제