Здравствуйте, дорогие StackOverflowers, я новичок в Cake PHP. Я хочу получить доступ к двум студентам и преподавателям в одной модели. Как это сделать ? Выпечка торта производит контроллеры, модели и виды только для ОДНОГО ТАБЛИЦЫ. Я не хочу использовать третью модель для доступа к ним, если можно использовать одну модель для доступа к двум таблицам. Спасибо.Доступ к нескольким таблицам CakePhp в одной пользовательской модели
ответ
Я не думаю, что это хороший подход, потому что это против конвенции один стол - одна модель, но, конечно, зависит от вас. Вы можете изменить таблицу на лету, используя общедоступное поле $useTable
.
$this->ModelName->useTable = 'table_name';
Так что в этом случае вы должны установить эту переменную каждый раз, когда выполняете какие-либо действия в базе данных. Вместо того, чтобы просто позвонить $this->ModelName->find();
, вы всегда должны добавить дополнительную строку перед оператором find()
, чтобы убедиться, что ваши запросы идут в соответствующую таблицу.
Спасибо, дорогой marian0 за быстрый ответ. от ModelName в выражении вы имеете в виду мою пользовательскую модель? и, как вы упомянули соглашение, одна таблица - одна модель, поэтому я должен получить доступ к каждой таблице с помощью одной модели, а затем получить доступ к обеим таблицам с третьей моделью?или просто использовать эти модели в моем контроллере? – Meer
Да, я имею в виду вашу пользовательскую модель от 'ModelName'. Поэтому зависит от того, какие данные вам нужно получить, но в большинстве случаев вам просто нужно использовать свои модели в контроллере. Если у вас есть реальность между таблицами, вы можете настроить их в одной модели, а затем просто вызвать эту конкретную модель, и у вас есть данные из всех ваших дефинированных моделей. – marian0
Я принял ваш совет и использовал одну модель для каждой из моих таблиц и понял, что модель ведет себя так, как будто я напрямую контактирую с таблицей. Я создал свой собственный контроллер и мой собственный просмотр и удаленные представления и контроллеры, созданные Cake Bake. Еще раз спасибо. – Meer
- 1. Laravel Доступ к нескольким таблицам
- 2. Доступ к нескольким таблицам Mysql
- 3. присоединяйтесь к двух/трех таблицам из одной модели в cakephp
- 4. Доступ к внешним таблицам CakePHP
- 5. Доступ к нескольким сводным таблицам с одной красноречивой моделью
- 6. Bookshelf.js доступ к нескольким таблицам, связанным
- 7. Доступ к различным таблицам в CakePHP
- 8. Подключиться к нескольким таблицам
- 9. Присоединение к нескольким таблицам
- 10. Добавление к нескольким таблицам
- 11. CakePHP Доступ к динамически созданным таблицам?
- 12. Laravel, доступ к нескольким моделям/таблицам в одном виде
- 13. MySQL Присоединение к нескольким таблицам
- 14. Доступ к cakephp через модели
- 15. Как присоединиться к нескольким таблицам с помощью CakePHP 3?
- 16. левой присоединиться к нескольким таблицам
- 17. Mongoose: Доступ к данным в пользовательской модели
- 18. Доступ к пользовательской модели в Refinery PagesController
- 19. Как присоединиться к нескольким таблицам?
- 20. SQL Присоединение к нескольким таблицам
- 21. MySQL Присоединение к нескольким таблицам
- 22. несколько производных к нескольким таблицам
- 23. SQL Присоединяется к нескольким таблицам
- 24. Codeigniter присоединяется к нескольким таблицам
- 25. Как присоединиться к нескольким таблицам?
- 26. MySQL Присоединение к нескольким таблицам
- 27. Попробуйте присоединиться к нескольким таблицам
- 28. Добавление ограничения к нескольким таблицам
- 29. Как присоединиться к нескольким таблицам?
- 30. Сортировка строк перед присоединением одной таблицы к нескольким таблицам?
У вас должна быть модель для каждой таблицы. Затем вы можете вызывать любую модель из любой модели –
Можете ли вы описать, что вы пытаетесь выполнить (т. Е. Заявление о проблеме бизнеса)? Технически в качестве основы для модели может использоваться только одна таблица, но есть методы для добавления других таблиц (например, с использованием представлений SQL, предложения JOIN в методе QUERY). Эти методы имеют ограничения. – AgRizzo
Спасибо AgRizzo за ваш быстрый ответ. Я хочу отобразить форму данных и мои таблицы на одной странице, но Cake создал два контроллера, две модели и два представления, и у обоих есть свои собственные цепочки. – Meer