2013-10-03 36 views
0

我正在使用Laravel的Eloquent ORM,並且需要將所有記錄都放在兩個表中。如何在Laravel 3中列出嵌套表中的所有項目

  • 問卷
  • 問題

代碼:

class Questionnaire extends Eloquent 
{ 
    public static $table = "questionnaire"; 

    public function question() 
    { 
     return $this->has_many('question', 'questionnaire_id'); 
    } 
} 

當我需要讓加盟我寫這篇聲明:

Questionnaire::find(1)->question()->get(); 

這是正確與否?

對不起,我的英語不好。

+0

這不是加入,這將運行兩個單獨的查詢,首先爲'發現(1)'和第二'問題() - > get()方法'。要加入laravel3,您可以使用所有Eloquent模型都可用的Fluent界面。你可能也有興趣研究Eager Loading'Questionnaire :: with('question','questionnaire_id') - > find(1);' –

+0

---是的,你說的是正確的......是不是工作? –

回答

0

這應該工作:

class Questionnaire extends Eloquent 
{ 
    public static $table = "questionnaire"; 

    public function questions() //table name = questions 
    { 
     return $this->has_many('question', 'questionnaire_id'); //model name of questions table: Question, questionnaire_id = matching column in the questions table 
    } 
} 

並嘗試使用:

Questionnaire::with('questions')->find(1); 
相關問題