mysql的字符串字段默认是不区分大小写的,例如下例中的网驰 GeForce RTX 2060 电竞 v2
的v是小写,确搜索出了大写的结果:
为了解决这个问题,我们只需要先查询出来,然后再比较下即可,因为php是区分大小的,例如
$pn = "网驰 GeForce RTX 2060 电竞 v2";
$materialModel = ErpFacade::callRepository([Erp::C_MATERIAL, 'MaterialRepository@findByPn'], [$pn]);
if (!$materialModel || $materialModel->pn != $pn) {// 利用php比较
throw new ActionException('操作失败,物料不存在');
}