1
マイモデルItems
は、Locations
に関連するBuildings
に関連するRooms
に関連しています。Laravel Datatables追加フィールドの並べ替え
はショート:Items
belongsToのRooms
belongsToのItemController
の指数関数でBuildings
belongsToのLocations
私はItems
のテーブルを表示したいです。私はLaravel Datatablesを使用します。 'シンプルな'テーブルでも動作しますが、カスタムフィールドや追加フィールドの並べ替え/検索の問題に直面しました。これはもちろんテーブルにはないからです。
基本的には、Room
、Building
およびLocation
の表示テーブルにあるそれぞれの名前に参加します。
これは私のItems
モデルです:
protected $appends = [
'building_title',
'location_title',
'room_title',
];
public function getLocationTitleAttribute() {
return $this->room->building->location->title;
}
public function getBuildingTitleAttribute() {
return $this->room->building->title;
}
public function getRoomTitleAttribute() {
return $this->room->title;
}
これは私のコントローラである:
public function anyData()
{
return Datatables::of(Item::query())->make(true);
}
追加フィールドのソート/フィルタリングを有効にする最良の方法は何ですか? ありがとうございます。