Code Igniter Модели и библиотеки - PullRequest
0 голосов
/ 21 марта 2011

в CI я создал модель под названием «Пользователь», в которой есть метод, называемый «записи», а другой - «книги»

.

Я хотел бы передать в модель параметр $ user_id, чтобы он создал экземпляр класса в моем контроллере.

то, как я сейчас называю модель в контроллере:

$data1 = $this->user->entries($user_id);
$data2 = $this->user->books($user_id);

Я бы хотел передать этот параметр user_id непосредственно в конструктор, чтобы мне не приходилось каждый раз использовать параметр $ user_id

возможно, что-то вроде этого (я знаю, что синтаксис в этом случае неправильный):

$this->load->model('user',$user_id);
$data['row1'] = $this->user->entries();
$data['row2'] = $this->user->books();

Пожалуйста, прости меня за то, что я не понимаю ООП .. я только что переключился. спасибо за вашу помощь

1 Ответ

2 голосов
/ 21 марта 2011

Вы не можете передавать переменные в конструктор, но вы можете создать метод для установки идентификатора пользователя и затем использовать его.

Пример:

class user extends CI_Model{

  var $user_id;

  function __construct(){
    parent::__construct();
  }

  function set_user_id($user_id){
    $this->$user_id = $user_id;
  }
}

А затем в вашем методе entries и books books вы можете использовать $this->$user_id без необходимости повторной передачи.

Вот так:

  function entries(){
    $user_id = $this->user_id;
  }
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...