Laravel从集合中获取Id
$collection = Test::whereDate('created_at', '=', $today)->where('cuid', $user->id)->where('month', date('m'))->get();
echo "<pre>";
print_r($collection);
echo "</pre>";
exit();
如何从此集合中返回ID
因为我想更新该特定ID
答案 0 :(得分:2)
如果user_id
为unique
,请使用first()
代替get()
$collection = Test::whereDate('created_at', '=', $today)->where('cuid', $user->id)->where('month', date('m'))->first();
然后访问id
,如
$id = $collection->id;
否则,您需要通过集合数组loop
并从单个对象访问id
。
答案 1 :(得分:0)
$collection = Test::whereDate('created_at', '=', $today)->where('cuid', $user->id)->where('month', date('m'))->pluck(['id']);
echo "<pre>";
print_r($collection);
echo "</pre>";
exit();
通过这种方式,您只能获得所有值的ID
答案 2 :(得分:0)
您只需使用该查询进行更新,而无需执行get
:
Test::whereDate('created_at', '=', $today)
->where('cuid', $user->id)
->where('month', date('m'))
->update([
'column' => 'columnValue'
]);
顺便说一句,你声称id应该是唯一的,但我发现在这个查询中有点难以置信,所以请确保你对这个假设完全100%正确。
答案 3 :(得分:0)
Test::whereDate('created_at', '=', $today)->where('cuid', $user->id)->where('month', date('m'))->pluck('id')->toArray();
如果你知道它是独特的:
Test::whereDate('created_at', '=', $today)->where('cuid', $user->id)->where('month', date('m'))->first()->id;
答案 4 :(得分:0)
您正在使用get(),即使只有一个结果,也会返回收集。循环遍历它们或用first()替换get() 示例:如果您尝试获取单个元素。
$collection = Test::whereDate('created_at', '=', $today)->where('cuid', $user->id)->where('month', date('m'))->first();
echo "<pre>";
print_r($collection->id);
echo "</pre>";
exit();