2017-05-16 24 views
1

對於一個項目,我有多個數據庫設置應該跨站點工作。我有一個「主」網站,其中包含所有(重要)表格,如用戶,類別和組。然後,我也建立了「奴隸」網站,基本形成一個網站羣。所有這些網站都駐留在同一個數據庫中。Mysql視圖 - 自動遞增不工作(通過Eloquent ORM)

奴隸網站有從主人連接到表的視圖,並通過雄辯得到結果完美的作品,我得到了我應該的結果。

現在的問題是,當我嘗試插入一些東西到奴隸(視圖)的自動增量似乎沒有工作/佔。

我想一個解決方案可能是運行一個SELECT COUNT ..查詢並增加一個返回的Integer,但這不像是應該使用的解決方案。

一些信息,應該是有用的:

視圖是由以下查詢創建:

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的版本:的MySQL版本14.14 DISTRIB 5.7.17,對於Linux下(x86_64)

我使用Laravel版本:5.4.21

我使用的PHP版本:PHP 7.1.4-1 + deb.sury.org〜xenial + 1

我希望有人能夠啓發我如何正確插入視圖。

回答

0

那麼在對工匠修補程序進行修補之後,我開始意識到,Eloquent ORM不會將空字段作爲NULL值插入(應遵循MySQL標準),而是將其完全清空。

以這種方式插入到視圖中會引發它缺少列值的異常,這是要拋出的正確錯誤。

所以,解決這個問題的一個好方法就像在以下線程中描述的那樣:View Here