Две модели с общими методами и одной и той же таблицей? [CakePHP]

Сейчас у меня две модели: Product и Service. Оба используют одну и ту же структуру таблицы и одни и те же методы. Однако, когда я обновляю один метод, мне придется проделать то же самое с другой моделью. И это становится беспорядочным, не говоря уже о том, что я вызываю избыточность, и это не лучшая практика.

Я знаю, что модели могут быть связаны с одной и той же таблицей, поэтому мне просто нужно добавить $ useTable = 'stuff' в модели, и я мог бы добавить поле type . Однако я не могу понять, как создать «родительскую» модель, поскольку каждая модель расширяет AppModel.

Честно говоря, я почти ничего не знаю о ООП, поэтому я мог упустить что-то очень очевидное и простое.

Что бы я сделал, не зная, как расширить двух потомков (Продукт и Услугу) до родителя (Материал), было бы примерно так:

$this->Stuff->type = 'product';
$products = $this->Stuff->findAvailable();

Но я уверен, что есть гораздо более простой и понятный подход.

Спасибо.

0
задан metrobalderas 3 June 2011 в 17:26
поделиться