Oracle不了解Laravel SQL查询

时间:2016-11-08 13:15:37

标签: php oracle laravel-5

我正在使用Laravel 5.2,我正试图用laravel eloquent执行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');
    }

}

此方法检查用户是否登录。并且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)

我怎样才能解决这个问题?

由于

2 个答案:

答案 0 :(得分:0)

因为我现在没有任何测试方法,所以我想在这里试探一下。

尝试添加:

protected $table = '"ReportUsers"';

致你的模特。

如果它不起作用,我会删除它。

答案 1 :(得分:0)

我遇到了同样的问题,只是评论将要解决的OracleGrammar.php文件的第206行,它测试它是否是一个保留字,后面是大写的名字。

// $ value = $ this-> isReserved($ value)? Str :: lower($ value):Str :: upper($ value);

文件路径是vendor-> yajra-> laravel-oci8-> src-> Oci8-> query-> Grammars