我有一些模型Task
。
如果当前用户拥有权限,那么他可以看到所有任务
return Task::all();
如果当前用户没有此权限,那么他只能看到空列表
return Task::where('id', 0)->get();
设计是这样的,用户必须总是得到一些结果,但我的函数使用从Task::all()
返回的数据,所以我不能返回空数组或空的Eloquent集合。
我该怎么办?
答案 0 :(得分:0)
你不想要空阵,你不想要空集。也许你应该改变设计。无论如何,因为你真的想传递一个空的任务列表,所以在数据库中手动插入1 2个任务作为第一个任务,所以他们的ID总是1&但是别的一切都是空的。那么你可以随时返回那些2
return Task::whereIn('id', [1,2])->get();
我的建议是,实际上将设计修复为期望空对象,这样你就可以做类似
的事情了return '';
答案 1 :(得分:0)
如果JSON模式必须完全匹配,则可以选择在数组中返回新创建的Task对象。它看起来像这样:
$emptyTask = new Task();
return [$emptyTask]