dongtanliefang8765 2016-12-24 01:21
浏览 78

使用Laravel Query Builder返回Undefined属性:stdClass错误

I have a query that works before using laravel eloquent method

$products = Product::where('category', 'ILIKE', '%'.$conditionTxt.'%')
                            ->orderBy('created_at', 'desc')
                            ->get();

But after using query builder approach

$products = DB::table('products')
                      ->where('category', 'ILIKE', '%'.$conditionTxt.'%')
                      ->orderBy('created_at', 'desc')
                      ->get();

It returns this error:

Undefined property: stdClass::$inventory

Here is my model and portion of the view where it points the error.

Model

public function inventory(){
    return $this->hasMany('App\InventoryRecord\InventoryRecord');
}

View:

<td>
    <?php 
    for($i = 0; $i < count($val->inventory); $i++){
        if( $val->inventory[$i]->total_qty <= 50 )  { ?>
            <span style="color:#C00"><?php echo $val->inventory[$i]->total_qty.' -'; ?></span>
        <?php  }else{ ?>
            <span style="color:#25A602"><?php echo $val->inventory[$i]->total_qty.' -'; ?></span>
        <?php
        }
    }
    ?>
</td>
  • 写回答

2条回答 默认 最新

  • douxuanwei1980 2016-12-24 06:17
    关注

    When you use query builder approach it returns an Illuminate\Support\Collection containing the results where each result is an instance of the PHP StdClass object (not a model object). You may access each column's value by accessing the column as a property of the object.

    But you can't access the Model relations because you have PHP StdClass object.

    I would suggest you, stick to Laravel eloquent.

    评论

报告相同问题?

悬赏问题

  • ¥15 unity第一人称射击小游戏,有demo,在原脚本的基础上进行修改以达到要求
  • ¥15 买了个传感器,根据商家发的代码和步骤使用但是代码报错了不会改,有没有人可以看看
  • ¥15 关于#Java#的问题,如何解决?
  • ¥15 加热介质是液体,换热器壳侧导热系数和总的导热系数怎么算
  • ¥100 嵌入式系统基于PIC16F882和热敏电阻的数字温度计
  • ¥15 cmd cl 0x000007b
  • ¥20 BAPI_PR_CHANGE how to add account assignment information for service line
  • ¥500 火焰左右视图、视差(基于双目相机)
  • ¥100 set_link_state
  • ¥15 虚幻5 UE美术毛发渲染