2017-05-16 7 views
1

プロジェクトでは、複数のデータベースをセットアップしてクロスサイトで作業する必要があります。ユーザーやカテゴリ、グループなどのすべての(重要な)表を含む「マスター」Webサイトが1つあります。それから私は「スレーブ」のウェブサイトをセットアップし、基本的にウェブサイトクラスタを形成します。これらのウェブサイトはすべて同じデータベースに存在します。Mysqlビュー - 自動増分が機能しない(Eloquent ORMを介して)

スレーブWebサイトにはマスターからテーブルに接続されたビューがあり、Eloquentを介して結果が完璧に機能するように、私は必要な結果を得ます。

ここで問題は、自動増分が機能していないように見えるので、スレーブ(表示)に何かを挿入しようとするときです。

解決策は、SELECT COUNT ..クエリを実行し、返されるIntegerを1つ増やすことができますが、それは使用すべき解決策のようには感じられません。

有用であろういくつかの情報は:ビューが次のクエリによって作成された

次のように

CREATE OR REPLACE VIEW {$this->tablename} AS SELECT * FROM {$this->source}.{$this->tablename} WITH CASCADED CHECK OPTION 

私が実行しようとするコマンドは次のとおりです。

// Create a new id/entry in the Group table. 
$__model = new \App\Group; 
$__model->setConnection('ext_connection'); 
$__model->save(); 

// Create the translations here.. 

バージョン情報:

は、私は、MySQLのバージョンを実行している:私はPHPのバージョンを使用しています5.4.21

mysqlの按分5.7.17、Linux用(x86_64版)

私はLaravelのバージョンを使用しています14.14 VerはPHP 7.1.4-1 + deb.sury.org〜xenial + 1

ビューに正しく挿入する方法を教えてください。

答えて

0

私はEloquent ORMがNULL値として空のフィールドを挿入しないことを認識しましたが(MySQL標準の場合と同様)、完全に空のままです。

ビューに挿入するこの方法では、ビューに対してスローされる正しいエラーである列値が欠落しているという例外がスローされます。

この問題を解決する良い方法は、次のスレッドに記載されているようなものです:View Here

関連する問題