Русское сообщество разработки на PHP-фреймворке Laravel.
Ты не вошёл. Вход тут.
Страницы 1
У меня таблицы, 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)
Не в сети
Понял, что делаю не так, помогите удалить эту тему..
Не в сети
Не в сети
Так тут же все очевидно
@foreach($vendors-items as $item)
$item->name;
@endforeach
Страницы 1