cakephp3で基本のorderを指定する場合はbeforeFind()メソッドをTableクラスに追加する。

以前のCakePHP2では、Modelのクラスのプロパティー $orderに指定すればよかったですが、なくなっているので以下のようにbeforeFindメソッドをTableクラスに追加で可能。

class StatusesTable extends Table
{
     *
     *
     *
    public function beforeFind(Event $event ,Query $query, $options, $primary) {
        if(!isset($query->order)){
            $query->order(['Statuses.type'=>'ASC']);
        }
        return $query;
    }

     *
     *
     *

すこしはまったのが、以前までの感覚で ‘Status.type’ ってやると、エラーとなった。
Table = 複数系との思考に切り替えないとだ。(Statuses.typeでOK)

コメントを残す

メールアドレスが公開されることはありません。 * が付いている欄は必須項目です