Laravel Eloquent找到了所有对阵阿雷

时间:2014-11-28 16:12:31

标签: laravel eloquent

我无法找到任何答案,所以我决定问。我希望我没有发布重复内容。

我正在编写一个简单的控制台命令来在Laravel 5中查找数据库中的任务。用户可以启动找到的任务或在控制台中显示它们。所以我在app / Console / Commands和RunOrDisplay方法中有一个RunScheduledTasksCommand类,如下所示:

        $tasks = $this->tasks->toArray();

        if ($taskId)
        {
            $tasks = array($this->tasks->toArray());
        }

        $this->table($headers, $tasks);

所以这里,$ this-> tasks是我的Eloquent模型,由Task :: find($ taskId)或Task :: all()返回,我想在控制台的表中显示这些任务。

现在,Task :: find($ taskId) - > toArray()将生成一维数组,但Task :: all() - > toArray()将执行多维数组。我的代码工作正常,我只是好奇是否有更好的方法来做到这一点。 Laravel 5中是否已经内置了两种情况下的多维数组?

1 个答案:

答案 0 :(得分:1)

而不是Task::find($taskId),请使用:

Task::whereId($taskId)->get();

这将确保您始终处理Collection对象,无论您拥有多少型号。