Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/reactjs/21.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
我可以根据虚拟字段对cakePHP选择框进行排序吗?_Php_Sql_Cakephp_Cakephp 2.0 - Fatal编程技术网

我可以根据虚拟字段对cakePHP选择框进行排序吗?

我可以根据虚拟字段对cakePHP选择框进行排序吗?,php,sql,cakephp,cakephp-2.0,Php,Sql,Cakephp,Cakephp 2.0,现在,我的选择框是从myPlayers类中的虚拟字段创建的,用于myStatistics模型的add.ctp视图。当前正在按id对选择框进行排序。我希望它按Player.last\u name排序 这是我的模型: class Player extends AppModel { public $name = 'Player'; public $virtualFields = array( 'name' => "TRIM(CONCAT(Player.last_name

现在,我的选择框是从my
Players
类中的虚拟字段创建的,用于my
Statistics
模型的
add.ctp
视图。当前正在按id对选择框进行排序。我希望它按
Player.last\u name
排序

这是我的模型:

class Player extends AppModel {

    public $name = 'Player';
    public $virtualFields = array(
    'name' => "TRIM(CONCAT(Player.last_name, ', ', Player.first_name))"
    );
    public $displayField = 'name';

    var $hasMany = array(
         'Statistic' => array(
             'className'     => 'Statistic',
             'foreignKey'    => 'player_id',
             'dependent'=> true
         )
     );  

}
这是我在
add.ctp
视图中使用的内容:

 echo $this->Form->input('player_id');
这是当前输出(按播放器id排序):


史密斯,约旦
玛拉尔,贾巴里
鲁塞尔,迈克
约翰逊,卡尔文
丹尼尔·汤普森
丹尼斯,雅各布
这是所需的输出(按姓氏排序):


丹尼斯,雅各布
约翰逊,卡尔文
玛拉尔,贾巴里
鲁塞尔,迈克
史密斯,约旦
丹尼尔·汤普森

是的,您可以按虚拟字段订购,但您的虚拟字段是
'name'
,而不是
'last\u name'
。试试
$order=array('Player.name')

是的,您可以按虚拟字段订购,但您的虚拟字段是
'name'
,而不是
'last\u name'
。试试
$order=array('Player.name')我会试一试,但在此期间,你想把它作为一个答案提交,这样如果它是正确的,我可以给你信用吗?我认为这是有效的!然而,我不得不在
$order=array('Player.name')前面添加
var
解析错误:语法错误,意外的T_变量,第17行的/var/www/app/Model/Player.php中需要T_函数。实际上,最好是在
姓氏、姓氏
上排序,先排序姓氏,再排序姓氏。
<select name="data[Statistic][player_id]" id="StatisticPlayerId">
    <option value="335">Smith, Jordan</option>
    <option value="336">Marall, Jabari</option>
    <option value="337">Rusell, Mike</option>
    <option value="338">Johnson, Calvin</option>
    <option value="339">Thompson, Daniel</option>
    <option value="340">Dennis, Jacob</option>
</select>
<select name="data[Statistic][player_id]" id="StatisticPlayerId">
    <option value="340">Dennis, Jacob</option>
    <option value="338">Johnson, Calvin</option>
    <option value="336">Marall, Jabari</option>
    <option value="337">Rusell, Mike</option>
    <option value="335">Smith, Jordan</option>
    <option value="339">Thompson, Daniel</option>
</select>