生のSQLクエリを実行し、UPDATE操作で止まる方法を学習しています。Laravel DB :: updateは何のエラーもなく何もしません。
私はINSERTのためのルートがあります。SELECT用
Route::get('/insert', function(){
DB::insert('insert into posts (title, content) values (?, ?)', ['PHP with Laravel', 'Just testing']);
return 'after insert';
});
とルート:
/home/pavel/www_mysite/TestLaravel/routes/web.php:31:
array (size=1)
0 =>
object(stdClass)[239]
public 'id' => int 11
public 'title' => string 'PHP with Laravel' (length=16)
public 'content' => string 'Just testing' (length=12)
public 'created_at' => null
public 'updated_at' => null
public 'is_admin' => int 0
と、少なくともUPDATEクエリ::私は見SELECTクエリの後
Route::get('/read', function(){
$results = DB::select('select * from posts');
return var_dump($results);
});
を
Route::get('/update', function(){
DB::update('update posts set title = "Nothing here"');
});
このクエリの後、新しいSELECTクエリは同じデータを表示し、PHPPgAdminでは変更が見つかりませんでした。私はLaravelDebugBarをインストールし、INSERTおよびSELECTクエリのページでブラウザの一番下に表示されますが、UPDATEクエリのページでは表示されません。私は間違いがどこにあるのか分からない。
エスケープされた一重引用符を使用して二重引用符を変更した後で、次のように動作します。 ルート:get( '/ update'、function(){ DB :: update( '更新記事セットタイトル= \' \ ''); }); しかし、なぜ二重引用符ではクエリが機能しないのですか? – brunen9
私はMySQLをインストールして同じクエリを試してみて、うまく動作します。 MySQLデータベースへのINSERTは二重引用符で動作します。 – brunen9