Laravel 忽略 Eloquent 模型中定义的内容

Mus*_*oya 2 php laravel eloquent

我在 Laravel 中定义了一个 Eloquent 模型AssessmentCategory,并with与另一个 Eloquent 模型有关系AssessmentQuestion

<?php

namespace App\Http\Models;
use Illuminate\Database\Eloquent\Model;

class AssessmentCategory extends Model {

    protected $table = 'assessment_categories';

    protected $with = ['questions'];

    public function scopeJsonColumns($query) {
        return $query->selectRaw('assessment_categories.id, assessment_categories.title');
    }

    public function questions() {
        return $this->hasMany(AssessmentQuestion::class, 'category_id');
    }
}
Run Code Online (Sandbox Code Playgroud)

现在AssessmentCategory总是加载其关系(子)数据,但我想AssessmentCategory在不加载关系(子)数据的情况下调用某处。

AssessmentCategory::jsonColumns()->get();
Run Code Online (Sandbox Code Playgroud)

小智 5

without()当想要获取没有关系的数据时,可以使用方法。

AssessmentCategory::without('questions')->jsonColumns()->get();
Run Code Online (Sandbox Code Playgroud)