Laravel 数据透视表获取值并传递给刀片模板

Posted

技术标签:

【中文标题】Laravel 数据透视表获取值并传递给刀片模板【英文标题】:Laravel Pivot table get value and pass to blade template 【发布时间】:2018-12-09 13:04:55 【问题描述】:

我正在尝试使用多对多关系在我的中间表上获取所有Level_idTerm_id > 但我无法让它工作,我想使用 有序列表 html 将它传递给我的视图。

我总是以这个结尾..试图获得非对象的属性

控制器:

   public function get_term_level()
 

    $terms=Term::find(1);

    foreach ($terms->level as $tm) 
        $tm->pivot->Level_id;
    




    return view('term_level.index',compact('terms'));

 

Term Model和我的LevelModel

一样
public function level()
    return $this->belongsToMany(Level::class, 'term_levels')->withPivot('Term_id', 'Level_id');
   

查看

 @foreach ($terms->pivot as $tm  )
     <ul>
     <li> $tm->Term_id </li>
          $tm->Level_id 
     </ul>@endforeach 

【问题讨论】:

is 'Term_id', 'Level_id' 是数据透视字段吗?我认为这些是期限和级别的关系。你能告诉我们你的数据透视表term_levels 吗? 是的 Term_id 和 Level_id 都是数据透视字段,父项是术语和级别表,在我的数据透视表中,term_level 只有主键和外键,没有别的 【参考方案1】:

试试这个(在你的控制器内):

foreach ($terms->level()->get() as $tm) 
    $tm->pivot->Level_id;

【讨论】:

以上是关于Laravel 数据透视表获取值并传递给刀片模板的主要内容,如果未能解决你的问题,请参考以下文章

如何从 Laravel5 中的刀片模板传递扩展主模板中的变量?

laravel 获取要传递给 laravel Blade 的数据,但是是 json 格式

我可以将刀片变量传递给 Laravel 中的 php 变量吗?

无法将数据从刀片传递到 vue(Laravel 5.3)

Laravel:如何使用数据透视表获取记录?

如何在刀片模板中使用 React js