2016-02-20 3 views
0

У меня есть пользователь с некоторыми вызовами в моем проекте, и каждый звонок принадлежит одному пользователю. Я использовал Laravel elequent отношения к retrive пользователь обращается следующим образом: пользователя модель:Неопределенное свойство: Illuminate Database Eloquent Collection

namespace App; 

use Illuminate\Database\Eloquent\Model; 

class User extends Model 
{ 
    protected $table = 'customers'; 

    public function customer_logs() 
    { 
     return $this->hasMany('App\call_log'); 
    } 

модель вызова:

namespace App; 

use Illuminate\Database\Eloquent\Model; 

class call_log extends Model 
{ 
    protected $table = 'customer_logs'; 

    public function customer() 
    { 
     return $this->belongsTo('App\User'); 
    } 

, но когда я вызываю функцию customer_logs в моем контроллере я сталкиваюсь эту ошибку: Не определено свойство: осветить \ Database \ красноречивый \ Collection :: $ customer_logs

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

$user = User::first()->get(); 
     $user->customer_logs->toArray(); 

ответ

0

Вы используете first, поэтому вам не нужно звонить, получайте запрос. Измените его на

$user = User::first(); 
$user->customer_logs() 
+0

спасибо большое за вашу помощь. он работает для first(), но как насчет где? User :: where ('number', $ phone) -> get() – hodhod

+0

Можете ли вы проголосовать или принять ответ. С помощью get он вернет коллекцию/массив элементов, чтобы вам пришлось перебирать коллекцию. foreach ($ users as $ usr) {логика/код идет здесь} – oseintow

+0

Если вы хотите только одну запись, вы можете изменить первый – oseintow

Смежные вопросы