Laravel 5.4的关系很长

时间:2017-04-04 13:06:32

标签: php laravel laravel-5

嗨我需要修复返回视图。我建立了关系和它的返回数组。我怎么能改变这一点,我不确定我是否对关系起到了很好的作用。我只是尝试了它,我看到很多教程,我知道在Laravel是如此善良的回归魔术提示。 我的函数必须显示用户加入的事件。我想我做它但它的返回数组,当我尝试做那样的事情



@foreach($zapisevents as $zapisevent)
      <table class="table">
      <th>{{$zapisevent->eventsave->name}}</th>
      </table>
      @endforeach
&#13;
&#13;
&#13;

我收到了错误: 此集合实例上不存在Property [name]。 (查看:/home/mariusz/Pulpit/www/szpital/resources/views/profil/profil.blade.php)

但当我使用<th>{{$zapisevent->eventsave}}</th>返回的数组时。

有加入活动的功能

&#13;
&#13;
    public function index()
    {
    	$userid = Auth::user();
    	$zapisevents = User::with('eventsave')->where('id',(Auth::user()->id))->get();
    	return view('profil.profil', ['userid' => $userid], ['zapisevents' => $zapisevents]);
    
    }
&#13;
&#13;
&#13; 模特用户:

&#13;
&#13;
    public function eventsave()
    {
        return $this->belongsToMany(HomeModel::class,'save_events','users_id','events_id')->withTimestamps();
    }
&#13;
&#13;
&#13;

Model HomeModel&lt;&lt;&lt;

&#13 ;
&#13;
 public function usersave()
    {
        return $this->belongsToMany(User::class,'save_events','events_id','users_id');
    } 
&#13;
&#13;
&#13; 它回归:

  

[{&#34; id&#34;:5,&#34; name&#34;:&#34; asdasdsa&#34;,&#34; title&#34;:&#34; Wydzial 1&# 34;,&#34;开始&#34;:&#34; 2017年4月4日   03:00:00&#34;,&#34;结束&#34;:&#34; 2017-04-04 07:59:00&#34;,&#34; created_at&#34;:&#34; 2017 -04-01   18:50:40&#34;&#34;的updated_at&#34;:&#34; 2017年4月1日   18:50:40&#34;&#34;枢轴&#34; {&#34; users_id&#34;:3,&#34; events_id&#34;:5,&#34; created_at&#34 ;: &#34; 2017年4月1日   18:50:58&#34;&#34;的updated_at&#34;:&#34; 2017年4月1日   18:50:58&#34;}},{&#34; ID&#34;:7,&#34;名称&#34;:&#34; kkkkkkkkkkkkkkkkkkkkkkkk&#34;&#34;标题&#34 ;: &#34; Wydzial   4&#34;,&#34; start&#34;:&#34; 2017-04-01 00:00:00&#34;,&#34; end&#34;:&#34; 2017-04-01   23:59:59&#34;,&#34; created_at&#34;:&#34; 2017-04-01 19:54:24&#34;,&#34; updated_at&#34;:&#34; 2017 -04-01   19:54:24&#34;&#34;枢轴&#34; {&#34; users_id&#34;:3,&#34; events_id&#34;:7,&#34; created_at&#34 ;: &#34; 2017年4月1日   19:55:41&#34;,&#34; updated_at&#34;:&#34; 2017-04-01 19:55:41&#34;}}]

2 个答案:

答案 0 :(得分:2)

@foreach($zapisevents as $zapisevent)
  <table class="table">
  <th>{{$zapisevent->eventsave->name}}</th>
  </table>
  @endforeach

应该

@foreach($zapisevents as $zapisevent)
  <table class="table">
 @foreach($zapisevent->eventsave as $eventSave)
  <th>{{$eventsave->name}}</th>
@endForeach
  </table>
  @endforeach

在您的代码中,在HomeModel的集合中调用name属性,但需要在模型本身中调用它

答案 1 :(得分:0)

使用数组时,您需要通过索引访问其属性,如下所示:

$zapisevent->eventsave['name']

而不是:

$zapisevent->eventsave->name