我想重复使用laravel elequent数据。我不知道这个问题意味着什么。所以我将解释使用波纹管编码。 我想用波纹编码获得一些数据。
$pending = Case::where('user_id', $id)->where('status', 0)->paginate(20);
$approved = Case::where('user_id', $id)->where('status', 1)->paginate(20);
但我认为这不是一种有效的方法。 所以我使用波纹管编码而不是代码。 第一次将父数据变为变量。
$cases = Case::where('user_id', $id);
我尝试使用where子句从上面的变量中过滤子数据。
$pending = $cases->where('status', 0)->paginate(20);
$approved = $cases->where('status', 1)->paginate(20);
执行$ pending后有正确的数据。但是没有按照我的意愿批准。 我怎样才能做到这一点。感谢。
答案 0 :(得分:1)
$cases->where(...)
在查询中添加了一个where子句,但在调用paginate
(或get
以及使用该结果的其他函数)之前,它才会执行。
因此,您的$approved
查询基本上有WHERE status=0 AND status=1
,这将永远不会有效。
您可以尝试将$cases
复制到另一个变量(即$approvedCases = $cases;
)中,但您可能最好使用原始代码。