方法 addSelect 不存在

Method addSelect does not exist

当我尝试在 Laravel 5.2

中执行 addSelect 方法时收到此错误消息

有什么想法吗?

BadMethodCallException in Macroable.php line 74: Method addSelect does not exist.


这是我控制器中的函数

public 函数 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);  

}

我的blade:

总数为 {{ $memberCount }}

        @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>

您得到的是一个集合而不是一个对象。 addSelect 方法属于生成器对象,不属于集合。因此,从您的查询中删除 get() 就没问题了。

 $members = MotherProfile::select('last_name')
        ->orderBy('last_name','ASC')
        ->distinct()
        ->get();
$members = MotherProfile::select('id','last_name')
        ->orderBy('last_name','ASC')
        ->distinct()
        ->addSelect(DB::raw("'value' as nameFake"))->get();

之前到get()