0
我想(沒有成功)執行一個連接+插入語句與流利的查詢生成器。這是有問題的代碼:Laravel 4 Fluent查詢生成器加入+插入
DB::table('lnk_users_languages')
->join('lut_languages', 'lnk_users_languages.lang_id', '=', 'lut_languages.id')
->where('lut_languages', 'lut_languages.lang_code', '=', 'en')
->insert(array(
'user_id' => Auth::user()->id,
'lang_id' => DB::raw('lut_languages.id')
));
,這裏是我的數據庫結構:
mysql> DESCRIBE lut_languages;
+-----------+------------------+------+-----+---------+----------------+
| Field | Type | Null | Key | Default | Extra |
+-----------+------------------+------+-----+---------+----------------+
| id | int(10) unsigned | NO | PRI | NULL | auto_increment |
| lang_code | varchar(2) | NO | UNI | NULL | |
| lang_name | varchar(30) | NO | | NULL | |
| dominant | tinyint(1) | NO | | NULL | |
+-----------+------------------+------+-----+---------+----------------+
mysql> DESCRIBE lnk_users_languages;
+---------+------------------+------+-----+---------+----------------+
| Field | Type | Null | Key | Default | Extra |
+---------+------------------+------+-----+---------+----------------+
| id | int(10) unsigned | NO | PRI | NULL | auto_increment |
| user_id | int(10) unsigned | NO | MUL | NULL | |
| lang_id | int(10) unsigned | NO | MUL | NULL | |
+---------+------------------+------+-----+---------+----------------+
最後這裏是錯誤我收到:
SQLSTATE[42S22]: Column not found: 1054 Unknown column 'lut_languages.id' in 'field list' (SQL: insert into `lnk_users_languages` (`user_id`, `lang_id`) values (?, lut_languages.id))
我假設流利Builder不預計連接和插入語句一起使用,因爲我找不到任何文檔。我找到的每個示例都使用與選擇連接。思考?
編輯
在我流利的發言只注意到一個錯誤。
->where('lut_languages', 'lut_languages.lang_code', '=', 'en')
應該是:
->where('lut_languages.lang_code', '=', 'en')
然而,錯誤仍然存在..
哦,那真是太遺憾了。如你所說,它不會影響性能。我純粹是要求滿足我的好奇心。謝謝 –
看起來像它現在修復https://github.com/laravel/framework/commit/57e11e392447206f60d77b33c0646229842315a3 –