有没有一种简单的方法可以做到这一点而不必取消序列化?
不是以任何可靠的方式。你当然可以ORDER BY
该值但排序将使用整个序列化字符串,这将为您提供技术上准确的结果,但不是您想要的结果。您无法提取字符串的一部分以便在查询本身中进行排序。即使您编写了原始SQL,也可以访问数据库函数,如SUBSTRING
, 我想不出一个可靠的方法来做这件事。您需要一个MySQL函数来取消对值的序列化--您必须自己编写它。
基本上,如果您需要在meta_value
无法将其序列化存储。很抱歉
如果无法更改值的存储方式,则需要拉入帖子,循环对其进行排序,然后再次循环显示排序结果。