2014-02-25 31 views
1

我有一個關於在Laravel 4Laravel 4動態屬性不工作在一定條件下

首先動態性能的問題,看看這個view.blade.php文件

@extends('layouts.master') 

@section('content') 

League: {{$league->name}} 

Teams: 

@foreach($league->teams as $t) 

{{$t->name}} 

@endforeach 

@stop 

這是動態的財產使用情況的正常情況下,我假設。

在我的機器中,文件返回一個錯誤:foreach提供的參數無效$league->teams只是int(0)

但是,當我使用$league->teams()->get()它按預期工作。

而且當我使用$league->tEams它的工作壓力太大,請注意是大寫E.

我在https://github.com/joturako/d2tm增加了GitHub庫,任何人都好心地探討這個問題可以這樣做。

我相信這或者是laravel本身的bug,或者是我使用的laravel,windows 8和xampp的組合;或者這只是我對一切事物的不完整的認識。

無論如何,感謝您閱讀我的問題,並希望有人能夠啓發我。

+0

「另外,當我使用$聯賽 - > tEams它也工作,請注意大寫E.」確定...解釋一下嗎? – TonyArra

+0

當我將字母e更改爲大寫時,它工作..只要它不是''''''''tEams'''或''teAms''',錯誤只會在我使用時出現'''teams'''。 – Luong

回答

0

你有兩個型號屬於對方,在團隊的關係應該是

public function leagues() { 
    return $this->hasMany('League'); 
} 

然後$ league->團隊應該找回球隊的名單。

+0

但我使用了多對多的關係,而laravel文檔並沒有說這是這樣的。我錯了嗎? – Luong

+0

由於引用的github回購沒有任何遷移文件很難知道,那麼他們沒問題,但你需要每個表ID的第三個表。如果你已經有了它,錯誤是非常奇怪的。 – marcanuy

+0

嗯,我沒有使用遷移文件(我仍然在學習),但我在根目錄中包含了'''.sql'''文件。我有聯盟,球隊,league_team表,都遵循laravel的命名約定:)奇怪的是$團隊 - >聯賽運作良好。 – Luong

0

確定這不是任何人的錯,這是我的錯。我在Leagues表中有一個名爲teams 的字段。這就解釋了爲什麼...

我現在覺得啞巴,希望有人能爲我刪除這個問題。