Symfony 1.4 Doctrine Вялое поведение, странное поведение!как бороться с внешними ключами на сохранение? - PullRequest
2 голосов
/ 06 декабря 2010
A:
  columns:
    id: ...
    name: type ....
    b_id: type ... 
  actAs:
    Sluggable:
      unique: true
      fields: [name, b_id]
      canUpdate: true
  relations:
     B: { foreignAlias: As } 
B:
  columns:
    id : ...
    name: ...

Выше рода схемы =).По крайней мере, это должно дать вам идею.Desigred slug format "A.name-B.name"

Я написал импортер csv, в котором поле A.slug генерируется правильно (я ничего не сделал для его настройки, все прошло по умолчанию).1004 *

Но я сталкиваюсь с проблемой при сохранении записи в бэкэнде (Symfony Admin Generator).Он генерирует слаг как A.name-B.id.Q: Каков наилучший способ / направление для этого случая, поэтому у меня есть нормальные слагы без идентификаторов

1 Ответ

1 голос
/ 06 декабря 2010

Я считаю, что это работает для определения отношения как части медленного, а не столбца внешнего ключа, то есть:

Sluggable:
  fields: [name, B]

При условии, что у вас есть метод __toString() для B. Если это не 'или если вам нужна более сложная логика, вы можете использовать опцию построителя:

Sluggable:
  builder: [ATable, buildSlug]

Затем вы можете определить в ATable:

public static function buildSlug($proposal, $instanceofA)
{
  return $instanceofA->name . '-' . $instanceofA->B->name; //do any other case altering, symbol removing here as well
}
...