2016-03-20 6 views
0

В отношении транзакции я видел два способа сделать это и в чем разница между ними и преимуществами?Laravel transaction

Эти коды в репо.

Пример 1. Общий подход

DB::transaction(function() { 

}); 

Что цель этого примера?

public function createCustomer(Request $request, $id) 
    { 
     $self = $this; 

     return $this->model->getConnection()->transaction(function() use ($self, $request, $id) { 

     }); 
} 
+0

Единственная разница в доступе к соединению PDO. –

ответ

1

На самом деле, когда вы будете использовать следующий код:

DB::transaction(function() { 
    // ... 
}); 

Laravel будет будет использовать соединение по умолчанию, предоставляемое в файле config/.env, но если вы хотите использовать другое соединение для модели, то вам может использовать следующий код, например:

return $this->model->getConnection()->transaction(...); 

в этом случае ваша модель должна содержать защищенное свойство использовать, поскольку это соединение, например:

class SomeModel extends Model { 

    protected $connection = 'pgsql'; 
} 

Всё.

Смежные вопросы