亚洲在线久爱草,狠狠天天香蕉网,天天搞日日干久草,伊人亚洲日本欧美

為了賬號安全,請及時綁定郵箱和手機立即綁定
已解決430363個問題,去搜搜看,總會有你想問的

[SQL Server]在 Laravel 中使用 model::with 時轉換失敗

[SQL Server]在 Laravel 中使用 model::with 時轉換失敗

PHP
蝴蝶刀刀 2023-08-19 16:24:52
我正在使用 Laravel eloquent ORM,并且定義了一些關系,如下所示:class Item extends Model{    protected $table = 'IV00102';    protected $primaryKey = 'ITEMNMBR';    protected $trimmableAttributes = ['ITEMNMBR', 'PRIMVNDR'];    public function backorderQuantities(){        return $this->hasOne(BackorderQuantity::class, 'ITEMNMBR', 'ITEMNMBR')->where('SOPTYPE', 5);    }}關系模型為:class BackorderQuantity extends Model{    protected $table = 'SOP10200';    protected $primaryKey = 'ITEMNMBR';    protected $trimmableAttributes = ['ITEMNMBR', 'SOPNUMBE', 'SOPTYPE', 'QUANTITY', 'QTYREMAI'];    public function item(){        return $this->belongsTo(Item::class, 'ITEMNMBR', 'ITEMNMBR');    }}當我嘗試使用定義的關系獲取數據時,問題就出現了:Item::with('backorderQuantities')->where('PRIMVNDR', Auth::user()->vendor_id)這樣做會導致此錯誤:[Microsoft][ODBC Driver 13 for SQL Server][SQL Server]Conversion failed when converting the varchar value 'X123RECORD231' to data type int我可以完成這項工作,而無需預先加載執行 2 個查詢,然后循環并檢查關系,如下所示:foreach ($objects as $view) {            if($view->backorderQuantities){                // do things            }          }但這給我帶來了很多問題,而且更像是創可貼而不是合法的解決方案。我想知道是否有解決此問題的方法,或者 SQL 服務器和 MSSQL 服務器之間的兼容性是否無法實現。
查看完整描述

1 回答

?
Smart貓小萌

TA貢獻1911條經驗 獲得超7個贊

仍然相當確定這是一個兼容性問題,但這是代碼以某種方式自行解決的奇怪實例之一。



查看完整回答
反對 回復 2023-08-19
  • 1 回答
  • 0 關注
  • 138 瀏覽

添加回答

舉報

0/150
提交
取消
微信客服

購課補貼
聯系客服咨詢優惠詳情

幫助反饋 APP下載

慕課網APP
您的移動學習伙伴

公眾號

掃描二維碼
關注慕課網微信公眾號