mysql - larval ORM 模型使用find方法無(wú)法準(zhǔn)確的查找到對(duì)應(yīng)的數(shù)據(jù)
問(wèn)題描述
mysql 數(shù)據(jù)表主鍵Order_ID為bigint(20),使用Order模型查找對(duì)應(yīng)的訂單卻找到了其他的訂單。比如:Order:find(20170214006401),卻查找到Order_ID為20161009000577的訂單.調(diào)用代碼如下:<?php$rsOrder = Order::find(20170214006401)->first()->toArray();?>
Order模型如下<?phpuse IlluminateDatabaseEloquentSoftDeletes;
class Order extends IlluminateDatabaseEloquentModel {
use SoftDeletes;protected $dates = [’deleted_at’];//protected $fillable = [’Order_Status’];protected $fillable = array(’Order_Status’,’Is_withdraw’,’Withdraw_Time’);protected $primaryKey = 'Order_ID';protected $table = 'user_order';public $timestamps = false;// 多wherepublic function scopeMultiwhere($query, $arr) { if (!is_array($arr)) {return $query; } foreach ($arr as $key => $value) {$query = $query->where($key, $value); } return $query;}
//無(wú)需日期轉(zhuǎn)換
public function getDates() { return array();}/** * 指定時(shí)間內(nèi)的訂單 * @param $Users_ID 店鋪唯一標(biāo)識(shí) * @param $Begin_Time 開(kāi)始時(shí)間 * @param $End_Time 結(jié)束時(shí)間 * @return array 訂單列表 */public function ordersBetween($Users_ID, $Begin_Time, $End_Time, $Order_Status) { $builder = $this::where(’Users_ID’, $Users_ID); if ($Order_Status != ’all’) {$builder = $builder->where(’Order_Status’, $Order_Status); }$builder->whereBetween(’Order_CreateTime’, [$Begin_Time, $End_Time])->orderBy(’Order_CreateTime’, ’desc’); return $builder;}
}
問(wèn)題解答
回答1:代碼來(lái)自:/vendor/laravel/framework/src/Illuminate/Database/Query/Builder.php
public function find($id, $columns = [’*’]) {return $this->where(’id’, ’=’, $id)->first($columns); }
find方法好像默認(rèn)為id為主鍵進(jìn)行查找的
回答2:find方法默認(rèn)搜索的是主鍵
相關(guān)文章:
1. phpadmin的數(shù)據(jù)庫(kù),可以設(shè)置自動(dòng)變化時(shí)間的變量嗎?就是不需要接收時(shí)間數(shù)據(jù),自動(dòng)變化2. html5和Flash對(duì)抗是什么情況?3. 求救一下,用新版的phpstudy,數(shù)據(jù)庫(kù)過(guò)段時(shí)間會(huì)消失是什么情況?4. html - 爬蟲(chóng)時(shí)出現(xiàn)“DNS lookup failed”,打開(kāi)網(wǎng)頁(yè)卻沒(méi)問(wèn)題,這是什么情況?5. javascript - vue項(xiàng)目里的package.json6. ios - 為什么用WKWebView加載相同的html文本,有時(shí)展示的內(nèi)容卻不一樣。7. angular.js - vue中類(lèi)似于angular的ng-change的指令是?8. javascript - Ubuntu修改port后無(wú)法登陸9. boot2docker無(wú)法啟動(dòng)10. mac里的docker如何命令行開(kāi)啟呢?
