orderBy在一张桌子上不起作用

时间:2018-11-22 02:10:17

标签: php laravel

我想在Laravel中使用orderby对数据进行排序。这是我的代码:

class EwdsUserRow extends React.Component {     

render() {  
  const {UserName, EmailAddress, AccountCreated, PasswordChanged, AccountName,
    Locked, Enabled} = this.props.ewdsUser; 

return (       
    <tr>
        <td>{UserName}</td>
        <td>{EmailAddress}</td>
        <td>{AccountCreated}</td>
        <td>{PasswordChanged}</td>          
        <td>{Locked}</td>       
        <td>{Enabled}</td>                      
    </tr>       
); 
}   
}

历史记录表迁移

>>> [np.diagonal(i) for i in test1]
[array([0, 4, 8]), array([ 9, 13, 17]), array([18, 22, 26])]

结果与订购不符

3 个答案:

答案 0 :(得分:1)

  

orderBy 方法可让您按   给定的列。 orderBy方法的第一个参数应为   您希望排序的列,而第二个参数控制   排序的方向,可以是asc或desc =>

     

这是您的解决方案=>

 $users = DB::table('history')
                    ->where(['cus_id'=>$id])    
                    ->orderBy('updated_at', 'desc')
                    ->get();
  

如果您正在使用模型,

History::where('cus_id',$id)->orderBy('updated_at','desc')->get();

答案 1 :(得分:0)

为什么不尝试其他解决方案?
我从文档中确认使用sortbyDesc方法,该方法可用于您的Laravel(5.4)版本。

这是您的代码:

History::where('cus_id', $id)
    ->get()  
    ->sortbyDesc('updated_at');

答案 2 :(得分:0)

使用您提供的代码,我认为一切都应该正常工作。

用这几段代码很难理解其中发生了什么,因此您可以执行以下操作:

  • 在“历史记录”模型中,请确保您没有将公共财产$timestamps设置为false
  • 仍然在“历史记录”模型中,添加protected $table = 'history'。 Laravel的默认行为将使雄辩地查看histories表,而不是history表。
  • 您的迁移以if(!Schema::hasTable('history'))开始,请确保所有内容都正确更新。

希望有帮助。