【问题标题】:Laravel WhereIn Query IssueLaravel WhereIn 查询问题
【发布时间】:2014-12-28 14:55:54
【问题描述】:

当我从下面的查询中回显$TagDatas;

$TagDatas = TagModel::whereIn('TagId', explode(',', $BlogData->Tagged))->get(); 回声 $TagDatas;

我得到了

[{"AutoId":2,"TagId":2,"TagName":"chrome","TagDescription":null,"CreatedAt":null,"CreatedBy":null,"UpdatedAt":null," UpdatedBy":null,"IsDeletable":null,"Status":1},{"AutoId":3,"TagId":3,"TagName":"google","TagDescription":null,"CreatedAt":null ,"CreatedBy":null,"UpdatedAt":null,"UpdatedBy":null,"IsDeletable":null,"Status":1}]

但是当我尝试时

echo $TagDatas->TagName;

我收到Undefined property: 错误

我做错了什么,我该怎么做。

注意:

我使用 whereIn 查询将等于

$BlogData->Tagged i.e., It will be 2,3

所以查询将是

$TagDatas = TagModel::whereIn('TagId', array(2,3))->get();

【问题讨论】:

    标签: php mysql laravel laravel-4


    【解决方案1】:

    错误很明显。

    $TagDatas 是您的模型的集合。您需要遍历该集合以获取每个项目。 该集合没有属性 TagName 只有它的元素(类型为 TagModel)有它。

    所以你应该这样做来回显它们每个人的 TagName。

    foreach($TagDatas as $TagData){
        echo $TagData->TagName;
    }
    

    【讨论】:

      【解决方案2】:

      因为$TagDatas 将是一个集合。循环遍历它以获取各个标签:

      foreach($TagDatas as $TagData){
          echo $TagData->TagName;
      }
      

      【讨论】:

        猜你喜欢
        • 2018-09-27
        • 2015-07-06
        • 1970-01-01
        • 1970-01-01
        • 2021-02-11
        • 1970-01-01
        • 1970-01-01
        • 2017-07-30
        • 2021-03-23
        相关资源
        最近更新 更多