Jak wykonać kwerendę aktualizacyjną na laravel płynnie używając db :: raw

Jest to związane z jednym z moich wcześniejszych pytań, gdzie:

Zaktualizuj pole table1 o wartość pola table2 w laravel fluent

Ale ponieważ teraz jest to inne podejście, zadam jeszcze jedno pytanie:

Jak poprawnie wykonać aktualizację za pomocąDB:raw?

Chcę zaktualizowaćfavorite_contents.type z wartością content.type, ale nic nie robi, statyczne ustawienie od 1 dofavorite_contents.expired działa.

To jest mój kod, który nadal nie aktualizuje typu, nawet gdyDB::raw użyto:

$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");

Jest to pierwszy kod, który nie aktualizuje się, zanim nie skorzystam z powyższego kodu, który również nie działa:

$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: To działa, gdy skończysz na edytorze sql:

UPDATE favorite_contents, contents SET favorite_contents.type = contents.type where favorite_contents.content_id = contents.id

questionAnswers(3)

yourAnswerToTheQuestion