2017-05-08 2 views
-1

Ich erhalte diese Fehlermeldung, wenn ich versuche, eine addSelect-Methode in Laravel 5.2Methode addSelect existiert nicht

Irgendwelche Ideen?

BadMethodCallException in Macroable.php Zeile 74: Methode addSelect existiert nicht.


Hier ist die Funktion in meinem Controller

public function summaryOfMembersTable() {

$members = MotherProfile::select('last_name') 
     ->orderBy('last_name','ASC') 
     ->distinct() 
     ->get(); 

    $count = $members->count(); 

    $mothers = MotherProfile::select(DB::raw('count(*) as user_count, gender'))  
     ->where('gender', '<>', 'F') 
     ->groupBy('gender') 
     ->get(); 

    $fullnames = $members 
     ->addSelect('first_name') 
     ->orderBy('last_name','ASC') 
     ->distinct() 
     ->get(); 


    $data = [];  
    $data['members'] = $members; 
    $data['memberCount'] = $count; 
    $data['mothers'] = $mothers; 
    $data['fullnames'] = $fullnames; 

    return view('user/masterlist/summary-of-members', $data); 

} 

Meine Klinge:

Insgesamt ist {{$ Member}}

 @foreach ($fullnames as $fullname) 
     {{ $fullname }}<br> 
     @endforeach 
     <hr> 
     <div class="page-header" style="text-align:center;"> 
      <h3 class="pageHeader"> 
      List of Members 
      <br> 
      </h3> 
     </div>   
     <div class="row">   
      <table class="table table-bordered" style="text-align: left;"> 
        <tr>        
         <th></th> 
         <th>Full Name (Last, First, Middle)</th>        
         <th>KLC</th> 
         <th>Category</th> 
         <th>Mem Type</th> 
         <th>Mem Status</th>       
         <th>Date Baptized</th> 
         <th>Mother in Spirit</th> 
         <th>Encoder</th> 
        </tr> 
        <tbody> 

        </tbody> 
      </table></div> 
+1

ein Stück Code? eine, die den addSelect .. aufruft? und wo heißt das addSelect? –

+1

senden Sie Ihren Code. –

+0

Sicher, werde dies jetzt bearbeiten. Ich dachte, das ist ein gemeinsames Laravel-Problem –

Antwort

1

Sie erhalten eine Sammlung anstelle eines Objekts. addSelect Methode gehören zum Builder-Objekt nicht zur Sammlung. Entfernen Sie also get() aus Ihrer Abfrage und alles wird gut.

$members = MotherProfile::select('last_name') 
     ->orderBy('last_name','ASC') 
     ->distinct() 
     ->get(); 
+0

Hallo Danke für die Lösung. Gibt es eine Möglichkeit für mich zu wissen, welche Methoden zur Sammlung gehören und welche zum Objekt Builder? Danke –

+0

Sie können die Dokumentation überprüfen oder Klassen manuell suchen –

+0

Ok, ich denke, ich kann das herausfinden. Nochmals vielen Dank @Rodrane, du bist super! –

Verwandte Themen