【问题标题】:Search collection in blade在刀片中搜索集合
【发布时间】:2020-02-04 16:26:45
【问题描述】:

我有表 userscatalogs。目录有creator_id,它是用户表中id 的外键。

然后我在PostsConstructor做了这个

public function index()
{
    $catalogs = Catalog::query()->get();
    $users = User::query()->get();
    return view('admin.posts',
        [
            'catalogs' => $catalogs,
            'users' => $users
        ]
    );
}

我将集合发送到 posts.blade.php 在我拥有的 post Blade 中:

@foreach( $catalogs as $catalog )

<p>Created by {{ ($users->first('id', $catalog->creator_id))->name }}</p>

@endforeach

我想显示谁创建了这篇文章,但它显示错误我的错误在哪里?提前谢谢!

【问题讨论】:

    标签: laravel laravel-5 laravel-blade


    【解决方案1】:

    请尝试以下方法

    @foreach( $catalogs as $catalog )
    <p>Created by {{ $users->where('id', $catalog->creator_id)->first()->name }}</p>
    @endforeach
    

    【讨论】:

    • 是的,它有效,谢谢。你能解释一下为什么你把它放在第一位吗?
    • 与返回模型集合的 get() 方法不同,first() 方法将返回单个模型实例。并且您无需迭代即可访问它的属性。
    • @bhargav kaklotara,谢谢!
    • @Jahid Mahmud 在第二行的 $users 之前删除 "("。我认为这个大括号没有必要
    • @BhargavKaklotara 抱歉我的错误,我已经移除了大括号。
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2019-03-10
    • 1970-01-01
    • 1970-01-01
    • 2016-02-12
    • 2019-05-15
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多