我有数据不一致的问题,一些模型在数据库中有破折号,一些没有,一些在API中有破折号,一些没有…
这是一所疯狂的房子。
$car[ 'model_id' ] = CarModel::where( 'name', $car[ 'model_name' ] )->first( [ 'id' ] );我该如何处理这件事?str_replace不是一个选项,我只需要在比较中忽略'-‘。
有可能吗?
发布于 2015-08-02 22:54:22
您说str_replace不是一个选项,但如果您将其与REPLACE配对,则可以通过从针和草堆中删除它们来有效地忽略比较中的破折号
CarModel::whereRaw("REPLACE(name,'-','') = ?",
array(str_replace('-','',$car['model_name'])))->first();请记住,这将阻止数据库利用您在name列上拥有的任何索引,这可能会导致查询速度变慢。
https://stackoverflow.com/questions/31772953
复制相似问题