2016-04-13 8 views
0

Ich habe diese Abfrage und ich möchte die 5 Top-Ergebnisse in Laravel aber die nehmen() und ersten() zurück nicht funktioniert es mit get nur überhaupt funktionieren(). Das Ergebnis sind für jeden $ idHolen Sie sich die Spitze dieser Abfrage in Laravel (Take oder zuerst)?

die Abfrage

$user_lessons = DB::table('Home_LogStudents') 
     ->join('LessonUnitSections','LessonUnitSections.leuns_ID','=','Home_LogStudents.LogSt_sectionID') 
     ->join('LessonUnits','LessonUnits.leun_ID','=','LessonUnitSections.leuns_ID') 
     ->join('Lessons','Lessons.less_ID','=','LessonUnits.leun_ID') 
     ->where('Home_LogStudents.LogSt_action',101) 
     ->where('Home_LogStudents.LogSt_studid',$id) 
     ->orderBy('Home_LogStudents.LogSt_date','desc') 
     ->get(); 

Klingen

<div class="row"> 
     <div class="col-md-12"> 
      <div class="form-group"> 
       @foreach($user_lessons as $ul) 
       {{ $user_lessons->less_Title }} 
       @endforeach 
      </div> 
     </div> 
    </div> 

Irgendwelche Vorschläge dieses Unrecht im tut?

+0

add '-> limit (5)' zu Ihrer Abfrage – Unex

+0

Nicht definierte Eigenschaft: Illuminate \ Database \ Query \ Builder :: $ less_Title –

+0

Wenn Sie '-> take (5)' verwenden, müssen Sie die Abfrage noch beenden '-> get();'. Hast du das versucht? – Unex

Antwort

2

können Sie entweder ->limit(5) zu Ihrer Abfrage hinzufügen, verwenden Sie entweder ->take(5) Sie müssen immer noch Ihre Abfrage mit ->get(); beenden.