我有这样的疑问:
$a = $this->Gallery->find('all',array (
'conditions'=>array('Gallery.id'=>$matches[1]),
'contain' => array('Photo'=>array('fields'=>array('Photo.name'),
'order'=>array('Photo.name'=>'ASC')
))));
此代码按ID和相关照片获取画廊。我想按照名字对照片进行排序,现在我举例说明:
1.JPG 11.JPG 12.JPG 2.JPG
所以,正如你所看到的,这不是自然的排序。我正在寻找信息,我怎么能存档这个,但没有成功。我想,我需要修改:
'order'=>array('Photo.name'=>'ASC')
感谢您的帮助。
答案 0 :(得分:1)
不确定这是否完全有助于您的问题,但您可以尝试通过首先按长度排序来应用MySQL数据库的自然排序: -
'order' => array(
'LENGTH(Photo.name)' => 'ASC',
'Photo.name' => 'ASC'
)
答案 1 :(得分:1)
我认为您需要尝试以下代码。
只是一个区别。 /* Basic Styling
----------------------------------------------------------------------------------------------------*/
input[type="radio"],
input[type="checkbox"] {
display: none;
}
input[type="radio"] + label,
input[type="checkbox"] + label {
margin-right: 20px;
padding-left: 30px;
cursor: pointer;
display: inline-block;
position: relative;
}
input[type="radio"] + label:before,
input[type="checkbox"] + label:before,
input[type="radio"] + label:after,
input[type="checkbox"] + label:after {
width: 20px;
height: 20px;
content: '';
top: 0;
left: 0;
color: #fafafa;
text-align: center;
position: absolute;
-webkit-transition: all 0.2s ease-in-out;
-moz-transition: all 0.2s ease-in-out;
-o-transition: all 0.2s ease-in-out;
transition: all 0.2s ease-in-out;
}
/* Radios
----------------------------------------------------------------------------------------------------*/
input[type="radio"] + label:before {
border: 1px solid #eee;
border-radius: 50%;
box-shadow: inset 0 0 0 0.4em #fafafa, inset 0 0 0 1em #fafafa;
}
input[type="radio"] + label:hover:before {
border: 1px solid #eee;
border-radius: 50%;
box-shadow: inset 0 0 0 0.4em #fafafa, inset 0 0 0 1em #eee;
}
input[type="radio"]:checked + label:before {
border: 1px solid #2196F3;
border-radius: 50%;
box-shadow: inset 0 0 0 0.4em #fafafa, inset 0 0 0 1em #2196F3;
}
/* Checkboxes
----------------------------------------------------------------------------------------------------*/
input[type="checkbox"] + label:before {
font-family: 'Material Icons';
font-size: 18px;
content: '\E876';
border: 1px solid #eee;
border-radius: 2px;
background: #fafafa;
}
input[type="checkbox"] + label:hover:before {
color: #eee;
}
input[type="checkbox"]:checked + label:before {
color: #2196F3;
}
'order'=>array('FIELD(Photo.name)'=>'ASC')
希望它对你有用。 如果您没有解决问题,请告诉我。
感谢。