我试图了解如何使用不同的值更新多行,我只是不明白.解决方案无处不在,但对我来说,它看起来很难理解.
例如,三个更新为1个查询:
UPDATE table_users
SET cod_user = '622057'
, date = '12082014'
WHERE user_rol = 'student'
AND cod_office = '17389551';
UPDATE table_users
SET cod_user = '2913659'
, date = '12082014'
WHERE user_rol = 'assistant'
AND cod_office = '17389551';
UPDATE table_users
SET cod_user = '6160230'
, date = '12082014'
WHERE user_rol = 'admin'
AND cod_office = '17389551';
Run Code Online (Sandbox Code Playgroud)
我读了一个例子,但我真的不明白如何进行查询.即:
UPDATE table_to_update
SET cod_user= IF(cod_office = '17389551','622057','2913659','6160230')
,date = IF(cod_office = '17389551','12082014')
WHERE ?? IN (??) ;
Run Code Online (Sandbox Code Playgroud)
如果在WHERE和IF条件中存在多个条件,我不完全清楚如何进行查询.任何想法?
我有以下查询:
$query = UserSubject::where('user_id', Auth::id())->select('subject_id')->get();
Run Code Online (Sandbox Code Playgroud)
正如预期的那样,我得到以下结果:
[{"user_id":8,"subject_id":9},{"user_id":8,"subject_id":2}]
Run Code Online (Sandbox Code Playgroud)
有没有办法将上面的结果复制到另一个表中,以便我的表看起来像这样?
ID|user_id|subject_id
1 |8 |9
2 |8 |2
Run Code Online (Sandbox Code Playgroud)
我$query遇到的问题是可以预期任意数量的行,因此我不确定如何遍历未知数量的行.