使用关系计数

时间:2016-04-12 18:34:04

标签: php laravel

我正在努力工作几天,但我无法让它发挥作用。

这是一个例子,我有Laravel模型测试,而问题,问题模型里面有test_id属性。我想按照给定测试的test_id = id存在的问题数量对Test集合进行排序。

我试过了两次

$tests = Test::select(
        array(
            '*',
            DB::raw('(SELECT count(*) FROM questions WHERE test_id = id) as count_questions'))
    )->with('questions')->orderBy('count_questions','desc')->paginate(5);

$tests = Test::has('questions', '>', 3 )->with('questions')->get()->sortBy(function($test)
    {
        return $test->questions->count();
    });

但结果相同,集合未排序。

如果重要,我会使用json响应,当我尝试回显$ test-> questions-> count();每次测试我都会得到一些问题。

0 个答案:

没有答案