私はLaravel 5.2を使用していますが、laravel eloquentを使用してSQLクエリを実行しようとしています。OracleはLaravel SQLクエリを理解しません
しかし、Oracleはlaravelクエリを理解しません。ここで
はLaravelコードは次のとおりです。
public function postLogincheck(Request $request){
$rules = array(
'name' => 'required|min:3',
'password' => 'required|alphaNum|min:3'
);
$messages = array(
'required'=>':attribute alanı gereklidir.',
'min'=>':attribute alanına en az :min karakter girmelisiniz',
'alphaNum'=>':attribute alanına alfanümerik karakterler girebilirsiniz'
);
$validator = Validator::make(Input::all(), $rules,$messages);
if ($validator->fails()) {
return Redirect::to('login')
->withErrors($validator)
->withInput(Input::except('password'));
} else {
if (Auth::attempt(array('name' => $request->name, 'password' => $request->password))) {
flash()->success('Giriş başarılı');
return Redirect::to('/');
}
flash()->error('Giriş başarısız');
return Redirect::to('/login');
}
}
このメソッドは、このようなlogin.And laravelコンバートログインクエリをユーザに確認する:このクエリを期待し
select * from (select * from ReportUsers where upper(name) = upper(tsim)) where rownum = 1
が、Oracle:
select * from (select * from "ReportUsers" where upper("name") = upper('tsim')) where rownum = 1
私はyajra laravel-oci8 connectorを使用してOracle DBを接続しています。
はまた、私は、この問題のこのエラー原因を取得しています:
Error Code : 942
Error Message : ORA-00942: tablo veya görüntü mevcut degil
Position : 29
Statement : select * from (select * from ReportUsers where upper(name) = upper(:p0)) where rownum = 1
Bindings : [tsim,tsim]
(SQL: select * from (select * from ReportUsers where upper(name) = upper(tsim)) where rownum = 1)
どのように私はこの問題を獲得することができますか?
おかげ
そのことについてあなたは確か? SQLはかなり標準化されていますが、私はもはやOracleでは動作しませんが、テーブルやカラムの名前を引用することはこれまで覚えていません。エラーメッセージは何ですか? – Devon
@Devonテーブル/カラム名が大文字と小文字を区別して定義されている場合は、それらを二重引用符で囲む必要があります。これは、一般的には完全なPITA imhoです! – Boneist
@Devonはい私は確信しています。そして、私はエラーメッセージを見るために質問を編集しました。 – kodcu