コードイグナイター modelとは

モデル(Model)とは?

コードイグナイターのモデルは、DB接続の部分などを担当します。クエリの発行部分などを書きます。ヘルパーやライブラリもよく使うので、覚えておきましょう。

 

モデルは、使わなくてもよいが、MVC をきっりち分けたい人におすすめです。

コードイグナイターの場合、使わなくても作れます!!

 

モデル作り

モデルクラスは application/models/ ディレクトリにファイルを作ります

 

application/models/model_name.php

class Model_name extends CI_Model {

public function __construct()
{
parent::__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 $content;

public $date;

 

// CI_Model constructor の呼び出し

public function __construct(){

parent::__construct();
}

 

public function get_last_ten_entries(){
$query = $this->db->get('entries', 10);
return $query->result();
}

 

public function insert_entry(){
$this->title = $_POST['title'];
$this->content = $_POST['content'];
$this->date = time();

$this->db->insert('entries', $this);
}

 

public function update_entry(){
$this->title = $_POST['title'];

本当はこちら⇒$this->input->post('title')
$this->content = $_POST['content'];
$this->date = time();

$this->db->update('entries', $this, array('id' => $_POST['id']));
}

 

}

 

このように書く事ができます。

詳細はこちら>>

 

 

基本の書き方

models フォルダの中にファイルを作ります

 

application/models/model_name.php

class Model_name extends CI_Model {

 

public function __construct() {
parent::__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{

public function __construct(){

parent::__construct();//親のコアクラスを呼び出し

}

function get_price(){

 

$fruits =array(

'りんご'=>'200円',

'みかん'=>'300円',

'ぶどう'=>'200円',
);
return $fruits;//返す
}
}

 

 

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(
'color' => 'red',
'shape' => 'round',
'size' => ''

);

echo element('color', $array); // "red" を返します。

echo element('size', $array, 'foobar'); // "foobar" を返します


 

配列から文字を取り出す事ができます。

表示させるときに便利です。

 

【参照】

コードイグナイターの配列ヘルパー

 

 

コードイグナイターの勉強方法

 

コードイグナイターを学んでいきましょう。「・」が付いているものは、外部のサイトへ飛びます。

 

■ フレームワーク ■

フレームワークは何を使ったらいいのか?

ララベルとは?

コードイグナイターとは?

オートロードとは

無名関数とは?

MVCとは何か?

 

 

【フレームワーク】

基本的には、ララベルを学ぶ方がよい。 ララベルはコンポーザーが入っている。

 

 

参照サイト

オブジェクト指向とは?

PDOとは何か?

mysql_connect()

アロー演算子とは?

データベースへのアクセスについて

 

大変申し訳ありませんが、当社ではサービスの質を落とさないために、月の契約は5件までとさせていただいております。 契約をお待ちいただく可能性もございますので、ご了承のほどよろしくお願いいたします

 

 

 

 

この記事を読んだ人は、こんな記事も読んでいます

 

SEO対策の基本 外部要因とは?

SEO対策の基本的である、外部要因とは何か?

SEO対策をするなら絶対に知っておきたい、基本知識です。

 

売れるサイトを作るのに知って起きたい知識

サーチエンジンマーケティングという言葉をご存知でしょうか?

ホームページで商品やサービスを売る時に知っておきたいマーケティング

についてご紹介いたします。

seo対策をするメリットとは

SEO対策をする5つのメリットとは?

なぜ上位表示させることが大事なのか?なぜSEO対策をする必要があるのか

についてご紹介させていただきます。

 

内部要因とは

SEO対策の内部要因とは?

上位表示させるためには、内部要因について知っておくことも大事です。

キーワードを上位表示させるために必要なのは、ソースコードを最適化することです

内部要因の対策について知りたい方はこちらへ

 

キーワード対策をするまえに

キーワード対策をする前に

そのキーワード対策。ちょっと待ってください。

そのまま対策をすると、必ずお金を損してしまいます。個人事業主や中小企業は

そんな大きなキーワードで対策をしてはいけません。

広告費用が高くなる理由とは

広告費用が高くなる本当の理由とは?

売れないサイトに集めていませんか?広告費用がかかるわりには

お問い合わせが少ない・・・と感じる方は多いはずです。

購入率の悪いサイトに集客をしている可能性があります。

 

 

 

 

【SEO対策・webコンサルティングのプラスワーク対応エリアについて】

プラスワークでは、東京、神奈川、千葉、埼玉を中心に全国でwebコンサルティング、SEO対策、ホームページの更新、ホームページのリニューアル運営代行をしております。売上アップをお考えならお気軽にご相談ください。

 

【SEO対策・webコンサルティングのプラスワーク 対応地域】

北海道 [ 北海道 ]

東北  [ 青森 | 岩手 | 山形 | 福島 | 秋田 | 宮城 ]

関東  [ 東京 | 埼玉 | 千葉 | 茨城 | 栃木 | 群馬 | 神奈川 ]

甲信越 [ 山梨 | 長野 | 新潟 ]

北陸  [ 石川 | 福井 | 富山 ]

東海  [ 愛知 | 静岡 | 岐阜 | 三重 ]

近畿  [ 大阪 | 兵庫 | 京都 | 滋賀 | 奈良 | 和歌山 ]

中国  [ 島根 | 山口 |鳥取 | 広島 | 岡山 ]

四国  [ 徳島 | 香川 | 愛媛 | 高知 ]

九州  [ 福岡 | 佐賀 | 長崎 | 熊本 | 大分 | 宮崎 | 鹿児島 ]

プラスワークでは全国でSEO対策、ホームページ更新、制作をしております。中小企業専門SEO対策・ホームページ更新制作会社、口コミのよいSEO対策会社をお探しならプラスワークにお任せくださいませ。

 

 

【コンテンツ】

トップへ

更新レスキュー

料金について

制作実績

お客様の声

よくある質問

会社概要

お問い合わせ

【更新レスキュー】

ライトコース

ゴールドコース

プラチナコース

 

【その他】

ニュース

メルマガ登録

特別資料プレゼント

相互リンク募集中

【課題から探す】

ホームページの課題

SEO対策とは

SEO対策がダメな理由

上位表示されない理由

相互リンクとは

順位が落ちてしまう原因

 

 

フェイスブック  ツイッター