2016-02-22 71 views
0

我有一個模型Survey,它有在模型ScaleQuestions中定義的相關子記錄。find()和with()返回所有模型,而不是帶子模型

我想創建一條路線,我可以查看單個調查並查看所有兒童規模問題。我創建了這條路線,試圖貪婪加載一個調查,所有的孩子:但它返回所有的調查車型:

public function survey($id) { 
     $survey = \App\Gt\Lib\Survey::find($id) 
      ->with('scale_questions') 
      ->get(); 
     ; 
     \dump($id); 
     \dump($survey); 
     return view('gt/admin/survey')->with('survey',$survey); 

有(目前)43個調查,只有10子的規模問題,但轉儲清楚地顯示它載入了43個調查。

Collection {#684 ▼ 
    #items: array:43 [▼ 
    0 => Survey {#208 ▶} 
    1 => Survey {#209 ▶} 
    2 => Survey {#210 ▶} 
    3 => Survey {#211 ▶} 

當我拿出get(),我得到一個生成器對象,我不知道該怎麼做:

Builder {#161 ▼ 
    #query: Builder {#154 ▶} 
    #model: Survey {#165 ▶} 
    #eagerLoad: array:1 [▶] 
    #macros: [] 
    #onDelete: null 
    #passthru: array:10 [▶] 
} 

看來,這是一個未經處理的查詢,因爲我不能得到任何性質關閉它:

public function survey($id) { 
    $survey = \App\Gt\Lib\Survey::find($id) 
     ->with('scale_questions'); 
     \dump($survey->id); 

給了我這樣的:

ErrorException in AdminSurveysController.php line 31: Undefined property: Illuminate\Database\Eloquent\Builder::$id 

我該如何急於加​​載單一調查問卷以及只有孩子的問題?

回答

1

我需要做的find()最後:

$survey = \App\Gt\Lib\Survey::with('scale_questions')->find($id); 
相關問題