2016-11-10 13 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

あなたのクエリは次のようにする必要があります:

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

は、このような方法で実行しようとしました照らしなさい\サポート\収集のための '欠落引数1を得た::(取得)' – Svyat

+1

は 'あなたは括弧を使用していることを確認し() '' services''を 'services()'と呼びます。 –

+0

ありがとう!これのために数時間を無駄にしました - 基本を忘れました。 – Svyat

関連する問題