mysql 数据表主键Order_ID为bigint(20),使用Order模型查找对应的订单却找到了其他的订单。
比如:Order:find(20170214006401),却查找到Order_ID为20161009000577的订单.
调用代码如下:
<?php
$rsOrder = Order::find(20170214006401)->first()->toArray();
?>
Order模型如下
<?php
use 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;
// 多where
public 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;
}
}
Copyright 2014-2025 https://www.php.cn/ All Rights Reserved | php.cn | 湘ICP备2023035733号
代码来自:
/vendor/laravel/framework/src/Illuminate/Database/Query/Builder.phpfind方法好像默认为id为主键进行查找的find方法默认搜索的是主键