【问题标题】:laravel get last related modellaravel 获取最后一个相关模型
【发布时间】:2015-08-18 21:13:22
【问题描述】:
class Keyword extends Model {

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

class Result extends Model {

    public function keywords()
    {
        return $this->belongsTo('App\Keyword');
    }   
}

这些是我的课程,但是当我访问时

$keyword->results->where('engine','Google')->last()->created_at 

我得到错误:试图获取非对象的属性

如果我var_dump($keyword->results->where('engine','Google')->last()),则显示Result类的对象

那么我在这里做错了什么?我需要过滤运行良好但无法访问结果的属性/属性的结果

【问题讨论】:

  • 你能显示 var_dump() 的结果吗?
  • 结果 :var_dump($keyword->results->where('engine','Google')->last()) object(App\Result)[332] protected 'table' => string 'results' (length=7) public 'timestamps' => boolean true protected 'dates' => array (size=1) 0 => string 'deleted_at' (length=10) protected 'fillable' => array (size =4) 0 => 字符串'位置' (长度=8) 1 => 字符串'引擎' (长度=6) 2 => 字符串'日期' (长度=4) 3 => 字符串'keyword_id' (长度=10 ) protected 'connection' => null ......
  • 尝试以下一个并发布结果 var_dump($keyword->results()->where('engine','Google')->last()->toArray())跨度>
  • @varathanyajiv 感谢您的帮助,但问题已解决,请参阅我的解决方案和我所犯的错误

标签: php laravel-5


【解决方案1】:

即使没有相关结果,我也在循环中访问所有关键字的结果,我确实喜欢

@if($ranking = $keyword->results->where('engine',$engine)->last())

{!! $ranking->created_at !!}

@endif

问题解决了,求助:Laravel 5: “Trying to get property of non-object”

【讨论】:

    猜你喜欢
    • 2016-12-19
    • 2019-10-10
    • 2018-10-12
    • 1970-01-01
    • 1970-01-01
    • 2016-05-26
    • 2016-08-30
    • 2018-11-04
    • 2014-12-05
    相关资源
    最近更新 更多