Cómo hacer una consulta de actualización en laravel con fluidez usando db :: raw
Esto está relacionado con una de mis preguntas anteriores donde:
Actualice el campo table1 con el valor del campo table2 en la combinación fluida fluida
Pero como este es un enfoque diferente ahora, solo haré otra pregunta:
¿Cómo haces correctamente una actualización usandoDB:raw
?
Quiero actualizar elfavorite_contents.type
con el valor de contents.type, pero no hace nada, la configuración estática de 1 afavorite_contents.expired
está trabajando.
Este es mi código que todavía no actualiza el tipo incluso cuando elDB::raw
se utilizó:
$table = 'favorite_contents';
$contents = DB::table($table)
->join('contents', function($join) use($table){
$join->on("$table.content_id", '=', 'contents.id');
})
->whereIn("$table.content_id",$ids)
->update(array(
"$table.expired" => 1
));
DB::raw("UPDATE favorite_contents, contents SET favorite_contents.type = contents.type where favorite_contents.content_id = contents.id");
Este es el primer código que no se actualiza antes de recurrir al código anterior que no funciona tan bien:
$table = 'favorite_contents';
$contents = DB::table($table)
->join('contents', function($join) use($table){
$join->on("$table.content_id", '=', 'contents.id');
})
->whereIn("$table.content_id",$ids)
->update(array(
"$table.expired" => 1,
"$table.type" => "contents.type"
));
P.S: esto funciona cuando se realiza en un editor de sql:
UPDATE favorite_contents, contents SET favorite_contents.type = contents.type where favorite_contents.content_id = contents.id