Ошибка laravel 5.3: Попытка получить свойство не-объекта - PullRequest
0 голосов
/ 17 мая 2018

Laravel 5.3 Я пытаюсь получить поля из таблиц пользователей и мобильных телефонов

таблица пользователей имеет идентификатор первичного ключа, а в моих мобильных таблицах есть поле users_id

, поэтому я хочу получить всеномера всех users_id

select u.*,m.mobile,ud.name from users u 
left join userdetails ud on ud.user_id = u.id
left join mobiles m on m.users_id = u.id
where m.mobiletypes_id = 1 and m.deleted_by is null

Я пытаюсь выполнить приведенный выше запрос в красноречивом виде, но сталкиваюсь с ошибкой неопределенного свойства.1012 * моя мобильная модель

<?php

namespace App;

use Illuminate\Database\Eloquent\Model;

class mobile extends Model
{
    protected $primaryKey = 'mobiles_id';
    protected $fillable = ['mobile', 'mobiletypes_id', 'users_id', 'created_by', 'updated_by', 'deleted_by', 'created_at', 'updated_at'];




}

мой контроллер

публичная функция employeeview () {// $ user = User :: all ();// получить всех пользователей

$userdetails = User::with(['mobile' => function ($query) {
    $query->where('mobiletypes_id', 1);
} ,'userdetails'])->get(); // get all userdetails 

// $mobile = User::with('mobile')->get();

//$userdetails = User::all();
//return $user;
//return view('employeeview',compact('userdetails'));
return view('employeeview')->with('userdetails', $userdetails);

}

мой взгляд employeeview.blade.php

@foreach($userdetails as $u)
                                 <tr>
                                        <td>{{$u->id}} </td>
                                        <td>{{$u->userdetails->name}} </td>
                                        <td>{{$u->email}}</td>
                                        @foreach($u->mobile as $um)
                                        <td>{{$um->mobile}}</td>
                                        @endforeach  
                                    </tr> 

                                 @endforeach   

1 Ответ

0 голосов
/ 17 мая 2018

Я бы сначала посоветовал поместить dd ($ userdetails) перед возвратом представления, чтобы проверить, действительно ли это то, что вы ищете.

При необходимости создайте переменную с именем

$visible = [] 

и поместите все видимые поля внутри него.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...