コードイグナイター modelとは
モデル(Model)とは?
コードイグナイターのモデルは、DB接続の部分などを担当します。クエリの発行部分などを書きます。ヘルパーやライブラリもよく使うので、覚えておきましょう。
モデルは、使わなくてもよいが、MVC をきっりち分けたい人におすすめです。
コードイグナイターの場合、使わなくても作れます!!
モデル作り
モデルクラスは application/models/ ディレクトリにファイルを作ります
application/models/model_name.php
class Model_name extends CI_Model { public function __construct() } } |
modelの呼び出しするには
$this->load->model('model_name'); |
application/models/blog/Queries.php
$this->load->model('blog/queries'); |
モデルのメソッドにアクセス
$this->load->model('model_name'); $this->model_name->method(); |
データベースとの連携
データベース情報と連動して動作します。 CodeIgniter でブログを管理する場合。
ブログで考えてみましょう。「挿入」、「更新」、 「取得」などが必要となります。
class Blog_model extends CI_Model {
public $title; public $date;
// CI_Model constructor の呼び出し public function __construct(){ parent::__construct();
public function get_last_ten_entries(){
public function insert_entry(){ $this->db->insert('entries', $this);
public function update_entry(){ 本当はこちら⇒$this->input->post('title') $this->db->update('entries', $this, array('id' => $_POST['id']));
} |
このように書く事ができます。
基本の書き方
models フォルダの中にファイルを作ります
application/models/model_name.php
class Model_name extends CI_Model {
public function __construct()
{ } |
クラス名の頭文字を「大文字」にしましょう。
class Model |
Mが大文字ですよね。
ファイル名と、クラス名は同じにしましょう。 じゃないと利用できません!!
これは大事なルールなので、覚えておきましょう。
【参照】
モデルのロード(呼び出し)
モデルを使う場合
コントローラ内に、このように書きます。
$this->load->model('ここにモデルの名前'); |
モデルの名前は「英数文字」で書きましょう。
$this->load->model('model_name'); |
これを利用する場合は、modelファイル内に、model_name.phpというファイルが必要です。
名前を変えて使う
$this->load->model('model_name', 'foobar'); $this->foobar->method(); |
foobarという部分に注目してください。
第二引数に新しい名前(メソッド名)をつけて
利用する場合は、$this->foobar->method();として利用をしています。
※簡素化するってことでしょうか?
サブディレクトリで利用
サブディレクトリにmodelファイルを作り保存することもできます。
application/models/blog/Queries.php
の場所に保存した場合。
利用する場合は、
$this->load->model('blog/queries'); |
と書きましょう。
コントローラ内書く事が多いです。
モデルとコントローラで動かしてみる
モデルとコントローラで動かしてみましょう。
コードイグナイターはviewを必ずしも使う必要がありません。
model/sample11_model.php
class sample11_model extends CI_Model{ parent::__construct();//親のコアクラスを呼び出し } function get_price(){
$fruits =array( 'りんご'=>'200円', 'みかん'=>'300円', 'ぶどう'=>'200円', |
controllers/sample11.php
<?php class Sample11 extends CI_Controller{
function index(){ $this->load->model('sample11_model'); //モデルを読み込みます。ファイル名を指定 $fruits=$this->sample11_model->get_price();
foreach($fruits as $key =>$value){//連想配列で表示する echo $key .$value .'<br>'; |
コントローラからviewに書いてあるファイルを読み込みます。
$this->load->model('sample11_model'); |
モデルを読み込みます。ファイル名を指定します。
配列ヘルパー
配列ヘルパーを使ってみましょう。
$this->load->helper('array'); |
このように書きます。
$array = array( ); echo element('color', $array); // "red" を返します。 echo element('size', $array, 'foobar'); // "foobar" を返します
|
配列から文字を取り出す事ができます。
表示させるときに便利です。
【参照】
コードイグナイターの勉強方法
コードイグナイターを学んでいきましょう。「・」が付いているものは、外部のサイトへ飛びます。
■ 基本編 ■
■クエリ
クエリ結果を作る
Active Recordとは?
クエリヘルパー関数
■フォーム
■ フレームワーク ■
フレームワークは何を使ったらいいのか?
ララベルとは?
コードイグナイターとは?
オートロードとは
無名関数とは?
MVCとは何か?
【フレームワーク】
基本的には、ララベルを学ぶ方がよい。 ララベルはコンポーザーが入っている。
参照サイト
大変申し訳ありませんが、当社ではサービスの質を落とさないために、月の契約は5件までとさせていただいております。 契約をお待ちいただく可能性もございますので、ご了承のほどよろしくお願いいたします
この記事を読んだ人は、こんな記事も読んでいます
SEO対策の基本 外部要因とは?
SEO対策の基本的である、外部要因とは何か?
SEO対策をするなら絶対に知っておきたい、基本知識です。
売れるサイトを作るのに知って起きたい知識
サーチエンジンマーケティングという言葉をご存知でしょうか?
ホームページで商品やサービスを売る時に知っておきたいマーケティング
についてご紹介いたします。
SEO対策をする5つのメリットとは?
なぜ上位表示させることが大事なのか?なぜSEO対策をする必要があるのか
についてご紹介させていただきます。
SEO対策の内部要因とは?
上位表示させるためには、内部要因について知っておくことも大事です。
キーワードを上位表示させるために必要なのは、ソースコードを最適化することです
内部要因の対策について知りたい方はこちらへ
キーワード対策をする前に
そのキーワード対策。ちょっと待ってください。
そのまま対策をすると、必ずお金を損してしまいます。個人事業主や中小企業は
そんな大きなキーワードで対策をしてはいけません。
広告費用が高くなる本当の理由とは?
売れないサイトに集めていませんか?広告費用がかかるわりには
お問い合わせが少ない・・・と感じる方は多いはずです。
購入率の悪いサイトに集客をしている可能性があります。