Laravel по-русски

Русское сообщество разработки на PHP-фреймворке Laravel.

Ты не вошёл. Вход тут.

#1 23.07.2016 23:18:37

Помогите найти свойство

У меня таблицы, Vendors один ко многим Items. Извлекаю все связанные данные
$vendors=\App\Vendor::with('items')->get();
отправляю в представление
return view('my.my-index',compact('vendors'));

в представлении извлекаю

@foreach ($vendors as $vendor)
{{$vendor->items->name}}
@endforeach

он мне сообщает
Undefined property: Illuminate\Database\Eloquent\Collection::$name (View: /home/ubuntu/workspace/resources/views/my/my-index.blade.php)

Хотя когда делаю вот так, то данные есть, name существует, но достучатся до них не получается почему то...
@foreach ($vendors as $vendor)
{{dd($vendor->items)}}
@endforeach

скриншот

модели  у меня такие:
<?php

namespace App;

use Illuminate\Database\Eloquent\Model;

class Vendor extends Model
{
     protected $fillable = ['name'];
   
   
    public function items(){
        return $this->hasMany('App\Item');
       
    }
}


<?php

namespace App;

use Illuminate\Database\Eloquent\Model;

class Item extends Model
{
    protected $fillable = ['name'];
   
   
   
    public function vendor(){
        $this->belongsTo('\App\Vendor');
    }
   
    public function files(){
        return $this->hasMany('\App\File');
       
    }
}

Изменено Shura (23.07.2016 23:20:31)

Не в сети

#2 24.07.2016 00:17:47

Re: Помогите найти свойство

Понял, что делаю не так, помогите удалить эту  тему..

Не в сети

#3 27.07.2016 19:04:15

Re: Помогите найти свойство

Не надо удалять темы. Решил — напиши как, это кому-то может помочь в будущем.

Не в сети

#4 28.07.2016 08:46:04

BMTH_1

Re: Помогите найти свойство

Так тут же все очевидно

@foreach($vendors-items as $item)
    $item->name;
@endforeach

Подвал раздела