【问题标题】:Laravel eager loading return if condition is true如果条件为真,Laravel 急切加载返回
【发布时间】:2019-10-16 04:33:50
【问题描述】:

当条件为真时,我需要一些帮助来返回关系

$quizGroups = $quiz->groups()->with(['questionsBank' => function ($query) {
    return $query->with(['questions' => function ($query) {
        //if question->type === 'choices' return $query->with('choices')
    }]);
}])->get();

如果条件为假,则直接完成其他关系而无需选择

有什么建议吗?

【问题讨论】:

    标签: php laravel eloquent


    【解决方案1】:

    我还没有尝试过,但如果你的测试是假的,我会返回$query,如果你的测试是真的,我会返回$query->with('whatever')。

    编辑:事实上,我什至不相信你需要在这些情况下实际返回查询,所以你可以这样做

    if($the_test) {
        $query->with('whatever');
    }
    

    【讨论】:

    • 条件是基于 Question 实例,如果它的类型是选择与否!
    猜你喜欢
    • 1970-01-01
    • 2020-09-12
    • 2020-10-23
    • 1970-01-01
    • 2013-05-28
    • 2019-07-08
    • 2022-01-10
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多