2

このエラーとは何ですか?また、それをキャッチする方法を教えてください。

Cannot access protected property Illuminate\Database\MySqlConnection::$pdo

私のコードは次のとおりです。

if($user->save())
        {
            try
            {
                DB::connection()->pdo->beginTransaction();

                Mymodel::insert('credit-card',array('user_id'=>$user->id,'card_holder'=>Input::get('custname')));
                Mymodel::insert('billing-info',array('user_id'=>$user->id,'name'=>Input::get('custname')));

                DB::connection()->pdo->commit();

                Auth::login( $user );
                return Redirect::to( 'profile' );
            }
            catch (\PDOException $e)
            {
                $user->delete();
                DB::connection()->pdo->rollBack();
                return 'ERROR: Something went wrong. Please try again later';
            }
        }
4

2 に答える 2

1

pdo プロパティが保護されるようになったため、各ステートメントで pdo の代わりに getPdo() を使用することもできます。getPdo() メソッドを使用して取得します。

DB::connection()->getPdo()->beginTransaction();
 ........
 ........
DB::connection()->getPdo()->commit();
......
......
DB::connection()->getPdo()->rollBack();
于 2015-03-31T10:06:51.330 に答える