| @@ 10-32 (lines=23) @@ | ||
| 7 | use Propel\Generator\Model\Table; |
|
| 8 | use keeko\tools\utils\NameUtils; |
|
| 9 | ||
| 10 | class ToManyRelationshipJsonResponseGenerator extends AbstractJsonResponseGenerator { |
|
| 11 | ||
| 12 | /** @var Table */ |
|
| 13 | private $foreign; |
|
| 14 | ||
| 15 | /** @var Table */ |
|
| 16 | private $model; |
|
| 17 | ||
| 18 | public function __construct($service, Table $model, Table $foreign) { |
|
| 19 | parent::__construct($service); |
|
| 20 | $this->model = $model; |
|
| 21 | $this->foreign = $foreign; |
|
| 22 | } |
|
| 23 | ||
| 24 | protected function addMethods(PhpClass $class, ActionSchema $action) { |
|
| 25 | // method: run(Request $request, $data = null) |
|
| 26 | $class->addUseStatement($this->model->getNamespace() . '\\' . $this->model->getPhpName()); |
|
| 27 | $class->setMethod($this->generateRunMethod($this->twig->render('dump-to-many-relationship.twig', [ |
|
| 28 | 'class' => $this->model->getPhpName(), |
|
| 29 | 'related' => NameUtils::pluralize($this->foreign->getCamelCaseName()) |
|
| 30 | ]))); |
|
| 31 | } |
|
| 32 | } |
|
| @@ 9-31 (lines=23) @@ | ||
| 6 | use keeko\tools\generator\AbstractJsonResponseGenerator; |
|
| 7 | use Propel\Generator\Model\Table; |
|
| 8 | ||
| 9 | class ToOneRelationshipJsonResponseGenerator extends AbstractJsonResponseGenerator { |
|
| 10 | ||
| 11 | /** @var Table */ |
|
| 12 | private $model; |
|
| 13 | ||
| 14 | /** @var Table */ |
|
| 15 | private $foreign; |
|
| 16 | ||
| 17 | public function __construct($service, Table $model, Table $foreign) { |
|
| 18 | parent::__construct($service); |
|
| 19 | $this->model = $model; |
|
| 20 | $this->foreign = $foreign; |
|
| 21 | } |
|
| 22 | ||
| 23 | protected function addMethods(PhpClass $class, ActionSchema $action) { |
|
| 24 | // method: run(Request $request, $data = null) |
|
| 25 | $class->addUseStatement($this->model->getNamespace() . '\\' . $this->model->getPhpName()); |
|
| 26 | $class->setMethod($this->generateRunMethod($this->twig->render('dump-to-one-relationship.twig', [ |
|
| 27 | 'class' => $this->model->getPhpName(), |
|
| 28 | 'related' => $this->foreign->getCamelCaseName() |
|
| 29 | ]))); |
|
| 30 | } |
|
| 31 | } |
|