我有2张桌子
levels
--------
id
owner_id
level
name
owner
--------------
id
name
所有者可以在levels table
上添加自己的关卡名称。默认情况下,level表有10行owner_id = 0
。
假设所有者将level 2
值添加到levels table
。如何仍然将所有(10行)设置为默认值,但将level 2
默认值更改为使用所有者值?
我尝试过使用:
$query = Levels:with('owner')->get();
但它只获得没有默认值的所有者值。
Curernt解决方案:
$lists = Level::where('owner_id', $owner_id)->lists('level');
$owner= Level::where('owner_id', $owner_id)->get();
$default = Level::whereNotIn('level', $lists)->get();
$levels = $default->merge($owner)->sortBy('level')->all();
return $levels;
感谢。