Codeigniter, передача переменной из модели в контроллер - PullRequest
2 голосов
/ 02 февраля 2012

Новое в Codeigniter & PHP.

Я хотел бы извлечь однобитовые данные из базы данных, превратить этот единственный бит данных в переменную и передать их контроллеру и использовать эти данные как единыйпеременная?Например, я мог бы сделать, если $ string = $ string и т. Д., С данными в контроллере.

Если кто-нибудь может привести пример модели и контроллера, это будет с благодарностью.

1 Ответ

5 голосов
/ 02 февраля 2012

Это довольно просто и взято прямо из документации CodeIgniter , которую вы обязательно должны прочитать (комментарии в коде в основном мои):

Контроллер

class Blog_controller extends CI_Controller {

    function blog()
    {
        // Load the Blog model so we can get some data
        $this->load->model('Blog');

        // Call "get_last_ten_entries" function and assign its result to a variable
        $data['query'] = $this->Blog->get_last_ten_entries();

        // Load view and pass our variable to display data to the user
        $this->load->view('blog', $data);
    }
}

Модель

class Blogmodel extends CI_Model {

    var $title   = '';
    var $content = '';
    var $date    = '';

    function __construct()
    {
        // Call the Model constructor
        parent::__construct();
    }

    // Query the database to get some data and return the result
    function get_last_ten_entries()
    {
        $query = $this->db->get('entries', 10);
        return $query->result();
    }

    // ... truncated for brevity

}

Редактировать

Это довольно простые вещи, и я настоятельно рекомендую просто читая документацию и пройдясь по некоторым учебникам , но я все равно постараюсь помочь:

Исходя из вашего комментария ниже, вы хотите следующее (что, по общему признанию, довольно расплывчато):

  1. получить один бит данных из запроса
  2. передать его в переменную (вы имеете в виду «присвоить это переменной»?)
  3. проверить этот бит данных из базы данных

Пожалуйста, прочитайте документацию по классу базы данных .Это действительно зависит от того, какой запрос вы выполняете и какие данные вы хотите получить от него.Исходя из приведенного выше примера, это может выглядеть примерно так в некоторых функциях вашей модели (имейте в виду, что это совершенно произвольно, поскольку я понятия не имею, как выглядит ваш запрос или какие данные вы хотите):

// Get a single entry record
$query = $this->db->get('entries', 1);

// Did the query return a single record?
if($query->num_rows() === 1){

    // It returned a result
    // Get a single value from the record and assign it to a variable
    $your_variable = $this->query()->row()->SOME_VALUE_FROM_RETURNED_RECORD;

    // "Validate" the variable.
    // This is incredibly vague, but you do whatever you want with the value here
    // e.g. pass it to some "validator" function, return it to the controller, etc.
    if($your_variable == $some_other_value){
        // It validated!
    } else {
        // It did not validate
    }

} else {
    // It did not return any results
}
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...