国产成人精品亚洲777人妖,欧美日韩精品一区视频,最新亚洲国产,国产乱码精品一区二区亚洲

您的位置:首頁技術文章
文章詳情頁

mysql - larval ORM 模型使用find方法無法準確的查找到對應的數據

瀏覽:127日期:2022-06-14 16:00:59

問題描述

mysql 數據表主鍵Order_ID為bigint(20),使用Order模型查找對應的訂單卻找到了其他的訂單。比如:Order:find(20170214006401),卻查找到Order_ID為20161009000577的訂單.調用代碼如下:<?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;}

//無需日期轉換

public function getDates() { return array();}/** * 指定時間內的訂單 * @param $Users_ID 店鋪唯一標識 * @param $Begin_Time 開始時間 * @param $End_Time 結束時間 * @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;}

}

問題解答

回答1:

代碼來自:/vendor/laravel/framework/src/Illuminate/Database/Query/Builder.php

public function find($id, $columns = [’*’]) {return $this->where(’id’, ’=’, $id)->first($columns); }

find方法好像默認為id為主鍵進行查找的

回答2:

find方法默認搜索的是主鍵

相關文章:
主站蜘蛛池模板: 苗栗市| 廊坊市| 广灵县| 北海市| 苍南县| 会东县| 台东县| 克东县| 大同市| 开原市| 武清区| 通渭县| 于都县| 定结县| 文山县| 日照市| 会宁县| 贡觉县| 榆林市| 高密市| 翁牛特旗| 曲阳县| 民权县| 成都市| 连城县| 乐山市| 绍兴市| 嘉鱼县| 炉霍县| 罗平县| 方山县| 民勤县| 定结县| 彭州市| 浦县| 北京市| 宁都县| 静安区| 晋中市| 阳曲县| 宝山区|