首页 > 解决方案 > 尝试在 Laravel 5.5 中获取非对象的属性,同时从数组中获取对象

问题描述

我是 Laravel 的新手,并试图从数组中获取一个对象。但是我收到以下问题:

尝试在 Laravel 5.5 中获取非对象的属性,同时从数组中获取对象

Blade模板中的波纹管代码:

@foreach($writers as $writer)
    <?php
        $order_writer = DB::table('tbl_writers_payment')
                        ->select('fk_writer_id')
                        ->orderBy('pk_payment_id', 'desc')
                        ->where('fk_order_id',$row->pk_order_id)
    ?>

    @if($writer->pk_writer_id == $order_writer->fk_writer_id)
        <option selected value="{{ $writer->pk_writer_id }}">
            {{ $writer->name }}
        </option>
    @endif

@endforeach

在上面的代码中,当我比较语句中的[$order_writer->fk_writer_id]代码时,if这将返回给我object not found

谢谢

标签: phparrayslaravel

解决方案


好吧,WHERE应该在ORDER BY文档)之前。尝试这样做:

$order_writer = DB::table('tbl_writers_payment')
                ->select('fk_writer_id')
                ->where('fk_order_id',$row->pk_order_id)
                ->orderBy('pk_payment_id', 'desc')

另外,在那之后,尝试使用->get()

$order_writer = DB::table('tbl_writers_payment')
                ->select('fk_writer_id')
                ->where('fk_order_id',$row->pk_order_id)
                ->orderBy('pk_payment_id', 'desc')
                ->get();

如果上述方法不适合您,您可以考虑使用Conditional Clauses


推荐阅读