Mのschema.ymlの:news.classで管理パネルでsymfonyを使用して独自の列をソートする方法は?
News:
columns:
title:
type: string(50)
category_id:
type: integer(4)
relations:
Category:
local: category_id
foreign: category_id
type: one
Category:
columns:
category_name:
type: string(50)
generator:
class: sfDoctrineGenerator
param:
model_class: News
theme: admin
non_verbose_templates: true
with_show: false
singular: ~
plural: ~
route_prefix: news
with_doctrine_route: true
actions_base_class: sfActions
config:
actions: ~
fields: ~
list:
display: [news_id, title, category_name]
filter:
display: [news_id, title, category_id]
form: ~
edit: ~
new: ~
:
public function getCategoryName()
{
return $this->getCategories()->getCategoryName();
}
これは動作しますが、私はこのフィールドを並べ替えることはできません。 id、title、category_idでソートできますが、category_nameではソートできません。このカスタム列でどのようにソートできますか?
あなたのために非常に非常に非常に感謝! :) –
'generator.yml'の' fields'セクションでは、フィールドをreal: 'category_name:{is_real:true}'として扱うように定義することができますので、テンプレートを編集する必要はありません。また、 'isValidSortColumn()'は親関数への参照を使用しているので、実際のテーブル名を使用する必要はありません(時間外に変更することができます)。 –