Laravel Lmutator $ this-> attributes返回'Undefined index:id' - php

因此,我正在尝试向模型添加一个属性(评级)。

到目前为止,我做到了:

    public function getRatingAttribute()
    {

        return $this::join('reviews', 'accounts.id', '=' , 'reviews.account_id')
        ->where('accounts.id', $this->attributes['id'])
        ->select(DB::raw('SUM(reviews.rating) / COUNT(reviews.id)'))->pluck('rating');
    }

但它返回Undefined index: id

奇怪的是,如果我在dd上执行$this->attributes,它将显示所有数组属性,包括id

我在做什么错,如何获得属性值?

参考方案

尝试利用该关系,然后选择汇总。

public function getRatingAttribute()
{

    return $this->reviews()
        ->selectRaw('AVG(reviews.rating) as aggregate')
        ->pluck('aggregate');

}

更新:更改为使用内置的AVG避免被零除。

检查对象是否已在集合中-Laravel - php

当我循环一系列不同的结果时,我希望将对象添加到新集合中。查询:$osRed = Item::where('category', 'Hardware') ->where(function ($query) { $query->where('operating_system', '…

Laravel-foreach局部变量正在覆盖全局变量 - php

今天,我面临一个非常奇怪的问题。我有一个控制器,将从该控制器向视图sections thread和threads发送三个变量。在我看来,我正在使用foreach循环遍历所有部分,如下所示:@foreach($sections as $i => $section) 对于每个部分,我都将创建一个div并给出如下的ID:id="{{ $thread…

Laravel迁移外键 - php

我正在尝试在Laravel中建立一些关系,我对关系和迁移有些困惑。这是我正在做的一个简单示例:Users -> has_many -> Cats 因此,我的用户迁移文件与Cats的关系如下:$table->foreign('cats_id')->references('id')->on(&…

PHP Laravel从另一个驱动器读取文件 - php

我目前正在学习Laravel。我想知道是否有一种方法可以在Laravel中使用Storage::从另一个硬盘访问文件(使用Windows)。例如,我在驱动器C:上安装了带有Laravel的Xampp,但是我想访问网站目录之外的E:上的文件。我试过使用Storage::files('E:')和File::files('E:…

Laravel中的形式动作 - php

我的Laravel表格有问题,所以我的项目结构是:controllers/ administration/ NewsController.php 在NewsController中,我有一个方法调用:postCreate(): public function postCreate(){ $validator = Validator::make(Input::a…