国产av日韩一区二区三区精品,成人性爱视频在线观看,国产,欧美,日韩,一区,www.成色av久久成人,2222eeee成人天堂

搜索

Laravel怎么在Model定義復(fù)合主鍵。

php中文網(wǎng)
發(fā)布: 2016-06-06 20:25:22
原創(chuàng)
2023人瀏覽過

表的結(jié)構(gòu)如下:

REATE TABLE `carts` (
  `user_id` int(10) unsigned NOT NULL,
  `product_id` char(64) NOT NULL,
  `quantity` int(10) unsigned NOT NULL,
  `created_at` timestamp NOT NULL DEFAULT '0000-00-00 00:00:00',
  `updated_at` timestamp NOT NULL DEFAULT '0000-00-00 00:00:00',
  PRIMARY KEY (`user_id`,`product_id`),
  KEY `fk_idx_cart_product` (`product_id`),
  CONSTRAINT `fk_idx_cart_product` FOREIGN KEY (`product_id`) REFERENCES `products` (`id`),
  CONSTRAINT `fk_idx_cart_user` FOREIGN KEY (`user_id`) REFERENCES `users` (`id`)
) ENGINE=InnoDB DEFAULT CHARSET=utf8
登錄后復(fù)制
登錄后復(fù)制

需要用Eloquent ORM的save()方法,他會(huì)根據(jù)primaryKey來保存數(shù)據(jù),請(qǐng)問如何在Model設(shè)置這種復(fù)合主鍵?

剪映
剪映

一款全能易用的桌面端剪輯軟件

剪映119
查看詳情 剪映
/**
 * The primary key for the model.
 *
 * @var string
 */
protected $primaryKey = 'id';
登錄后復(fù)制
登錄后復(fù)制
$cart = Cart::firstOrNew([...]);
$cart->quantity = $quantity;
$cart->save();
登錄后復(fù)制
登錄后復(fù)制

SQLSTATE[42S22]: Column not found: 1054 Unknown column 'id' in 'where clause'

回復(fù)內(nèi)容:

表的結(jié)構(gòu)如下:

REATE TABLE `carts` (
  `user_id` int(10) unsigned NOT NULL,
  `product_id` char(64) NOT NULL,
  `quantity` int(10) unsigned NOT NULL,
  `created_at` timestamp NOT NULL DEFAULT '0000-00-00 00:00:00',
  `updated_at` timestamp NOT NULL DEFAULT '0000-00-00 00:00:00',
  PRIMARY KEY (`user_id`,`product_id`),
  KEY `fk_idx_cart_product` (`product_id`),
  CONSTRAINT `fk_idx_cart_product` FOREIGN KEY (`product_id`) REFERENCES `products` (`id`),
  CONSTRAINT `fk_idx_cart_user` FOREIGN KEY (`user_id`) REFERENCES `users` (`id`)
) ENGINE=InnoDB DEFAULT CHARSET=utf8
登錄后復(fù)制
登錄后復(fù)制

需要用Eloquent ORM的save()方法,他會(huì)根據(jù)primaryKey來保存數(shù)據(jù),請(qǐng)問如何在Model設(shè)置這種復(fù)合主鍵?

剪映
剪映

一款全能易用的桌面端剪輯軟件

剪映119
查看詳情 剪映
/**
 * The primary key for the model.
 *
 * @var string
 */
protected $primaryKey = 'id';
登錄后復(fù)制
登錄后復(fù)制
$cart = Cart::firstOrNew([...]);
$cart->quantity = $quantity;
$cart->save();
登錄后復(fù)制
登錄后復(fù)制

SQLSTATE[42S22]: Column not found: 1054 Unknown column 'id' in 'where clause'

這個(gè)問題沒有解決,大部分別的框架也沒有解決,所以暫時(shí)沒有辦法在Eloquent ORM 定義復(fù)合主鍵,解決辦法:
1.使用doctrine。
2.在表單驗(yàn)證里面做驗(yàn)證,也能達(dá)到主鍵約束的效果。
關(guān)于這個(gè)問題其實(shí)在一年前就有國外的程序員在github上提了issue的,并且taylorotwell還參與了討論,他給出的回復(fù)是laravel目前沒有計(jì)劃增加這個(gè)功能。直到今天(2015.11.07)都沒有這個(gè)功能。詳情請(qǐng)見以下鏈接:https://github.com/laravel/framework/issues/5355

相關(guān)標(biāo)簽:
最佳 Windows 性能的頂級(jí)免費(fèi)優(yōu)化軟件
最佳 Windows 性能的頂級(jí)免費(fèi)優(yōu)化軟件

每個(gè)人都需要一臺(tái)速度更快、更穩(wěn)定的 PC。隨著時(shí)間的推移,垃圾文件、舊注冊(cè)表數(shù)據(jù)和不必要的后臺(tái)進(jìn)程會(huì)占用資源并降低性能。幸運(yùn)的是,許多工具可以讓 Windows 保持平穩(wěn)運(yùn)行。

下載
來源:php中文網(wǎng)
本文內(nèi)容由網(wǎng)友自發(fā)貢獻(xiàn),版權(quán)歸原作者所有,本站不承擔(dān)相應(yīng)法律責(zé)任。如您發(fā)現(xiàn)有涉嫌抄襲侵權(quán)的內(nèi)容,請(qǐng)聯(lián)系admin@php.cn
最新問題
開源免費(fèi)商場系統(tǒng)廣告
最新下載
更多>
網(wǎng)站特效
網(wǎng)站源碼
網(wǎng)站素材
前端模板
關(guān)于我們 免責(zé)申明 意見反饋 講師合作 廣告合作 最新更新
php中文網(wǎng):公益在線php培訓(xùn),幫助PHP學(xué)習(xí)者快速成長!
關(guān)注服務(wù)號(hào) 技術(shù)交流群
PHP中文網(wǎng)訂閱號(hào)
每天精選資源文章推送
PHP中文網(wǎng)APP
隨時(shí)隨地碎片化學(xué)習(xí)
PHP中文網(wǎng)抖音號(hào)
發(fā)現(xiàn)有趣的

Copyright 2014-2025 http://www.miracleart.cn/ All Rights Reserved | php.cn | 湘ICP備2023035733號(hào)