2013-10-04 3 views
1

Я сомневаюсь, что у меня было несколько таблиц с именем client1, client2, client3 и т. Д. Мне нужно получить данные каждого клиента в одном контроллере без создания какой-либо модели/контроллера для каждой таблицы. Может ли кто-нибудь объяснить, как получить эти значения.Cakephp: Как получить данные таблицы без создания моделей/контроллеров?

+0

модель представляет данные, и контроллер (обычно) Fetches это данные. Теперь, почему вы не хотите использовать их? В противном случае нет смысла использовать структуру MVC, например CakePHP, если вы не хотите придерживаться принципов MVC. –

ответ

5

Вы можете использовать динамические модели

приложение/client_model.php

<?php 
    class ClientModel extends Model { 
     var $name = 'Client'; 
     var $alias = 'Client'; 

     function __construct($table) { 
      $this->useTable = $table; 
      parent::__construct(); 
     } 
    } 
?> 

и использовать, как это для client1 таблицы

App::import('model','Client'); 
    $client = new ClientModel('client1'); 
    $client->find('all'); 
+0

Я закончил использовать это - у меня есть контроллер/модель EmailForms, и мне нужен контроллер и модель EmailFormSubmissions, и по разным страшным причинам я не мог написать их как две отдельные модели/контроллеры - у меня была только одна модель/контроллер двойная нагрузка. Таким образом, я навязываю новый EmailForm следующим образом: $ emailFormSubmission = new EmailForm ('email_form_submissions'); – Kluny

-1

Вы можете сделать это, выполнив обычные запросы mysql, выбрав таблицу и извлеките значения в контроллере, как и в случае с основным php.

+0

Да, я сделал так. Но чувствуете, что нужно делать в рамках? – Sreenath

+0

Да, я знаю, но я думаю, что это решение соответствует вашему требованию. – rohitr

Смежные вопросы