【问题标题】:Eloquent Pivot sentence雄辩的枢轴句子
【发布时间】:2018-02-11 09:32:35
【问题描述】:

I don't understand well Eloquent pivot sentence 我有 3 个表proyect(id、name)、users(id、name)和 proyectUsers(id , user_id, proyect_id)

项目模型

public function users()
    {
        return $this->belongsToMany(Users::class, 'projectUsers',  'id_proyect', 'user_id');
    }

查看

@foreach( $proyect->users as $user)
    {{$user->name}} 
    @if(!$loop->last)
        ,
    @endif
@endforeach

实际上有效,但如果我看到Laravel pivot relation,我不会使用它任何枢纽句。

foreach ($proyect->users as $user) {
    echo $user->pivot->name;
    @if(!$loop->last)
        ,
    @endif
}

如果我想正确地做我必须使用这个代码?我做得对吗?

【问题讨论】:

  • 好吧,您正在用户表上定义一个名称列。但是,这种关系应该返回一个集合。因此,您必须遍历名称对象才能访问名称属性。如果您想要多对多关系,您的用户表不应该有名称列。
  • 我尽可能简单地写了 3 个表。我有更多的领域,但我认为理解我的“问题”就足够了。

标签: laravel loops eloquent pivot


【解决方案1】:

是的,你做得对,你不需要在这里使用->pivot

但是,您可能希望将pluck() 用于单行解决方案,而不是使用foreach 循环:

{{ implode(', ', $proyect->users->pluck('name')->toArray()) }}

【讨论】:

  • 谢谢,还有其他选择。
猜你喜欢
  • 2018-05-19
  • 1970-01-01
  • 2017-05-24
  • 1970-01-01
  • 2019-07-24
  • 2020-10-26
  • 2020-06-28
  • 2018-01-10
  • 2018-07-05
相关资源
最近更新 更多