カテゴリ: コントローラー

ページ: 1 2 3 4 5 6 7 8 >>

条件文にORを使う方法

パーマリンク 2009/06/19 09:37:38 著者: cakephp メール
カテゴリ: モデル, コントローラー

CakePHP1.2

findの条件文にORを使いたい場合は、このように配列で渡します。

$params = array(
    'conditions' => array(
        'or' => array(
            array('status' => '1'),
            array('status' => '2'),
        ),
    ),
);
$data = $this->Sample->find('all', $params);

Sessionをデータベースで管理する

パーマリンク 2009/05/03 12:33:21 著者: cakephp メール
カテゴリ: 設定, コンポーネント, データベース, PostgreSQL, コントローラー

CakePHP1.2

CakePHPではSessionをデータベースで簡単に管理できます。

1.core.phpの設定

通常のファイルで管理する方法からデータベース管理に変更

Configure::write('Session.save', 'php');
↓
Configure::write('Session.save', 'database');


保存するテーブル名の指定

//Configure::write('Session.table', 'cake_sessions');
↓
Configure::write('Session.table', 'cake_sessions');


Sessionテーブルを格納するデータベースの指定

//Configure::write('Session.database', 'default');
↓
Configure::write('Session.database', 'default');

2.テーブル作成

上記で設定したテーブルを作成
必要な項目は、セッションID、データ、有効期限

CREATE TABLE cake_sessions (
    id VARCHAR(255) NOT NULL default '' PRIMARY KEY,
    data TEXT NOT NULL DEFAULT '',
    expires INT DEFAULT NULL
);

3.利用

後は通常のSessionの使い方を行うだけです。
Sessionの書き込み

$this->Session->write('name', 'hoge');

Sessionの読み込み

$this->Session->read('name');

findのfieldsを指定した時にModel名を返す方法

パーマリンク 2009/03/06 13:58:51 著者: cakephp メール
カテゴリ: コントローラー

CakePHP1.2

次のようにデータを取得すると、

$data = $this->Sample->find('all');

戻り値はこのような感じになります。

Array
(
    [0] => Array
        (
            [Sample] => Array
                (
                    [id] => 1
                    [name] => 名前太郎
                    [memo] => 今日は晴れです
                )

        )
)


ですが、findでfieldsをAS句で指定すると、

$params = array(
    'fields' => array(
        'name AS namae',
    ),
);
$data = $this->Sample->find('all', $params);

戻り値はこのような感じになります。

Array
(
    [0] => Array
        (
            [0] => Array
                (
                    [namae] => 名前太郎
                )

        )
)


先ほどは[Sample]だった部分が[0]となってしまいました。
今回はこれを[Sample]にする方法です。

AS句の名前のつけ方を下記のように「表示させたい名称__」を追加してあげると、

$params = array(
    'fields' => array(
        'name AS "Sample__namae"',
    ),
);
$data = $this->Sample->find('all', $params);

戻り値は、このようになります。

Array
(
    [0] => Array
        (
            [Sample] => Array
                (
                    [namae] => 名前太郎
                )

        )
)


mickに教えてもらいました。

URL内のパラメータを簡単に取得する方法

パーマリンク 2009/01/22 17:00:30 著者: cakephp メール
カテゴリ: コントローラー

CakePHP1.2

URLにパラメータをつけるような場合、下記のようにするとそれぞれの値が簡単に取得できます。

例えば、このようなURL。
http://example.com/test/index/lat:139.745407/lng:35.659266/

「***:xxx」のように「***」項目名、「xxx」パラメータとします。

そして、Controller側で下記のようにすることでパラメータが取得できます。

class TestController extends AppController
{
    var $uses = array();

    function index()
    {
        $lat = $this->params['named']['lat'];   // 緯度
        $lng = $this->params['named']['lng'];   // 経度
    }
}

チェックボックスの作り方

パーマリンク 2008/12/13 20:06:09 著者: cakephp メール
カテゴリ: ヘルパー, ビュー, コントローラー

CakePHP1.2 RC3

複数のチェックボックスの作り方です。
Form::inputメソッドで type を select にし、multiple に checkbox を指定します。

[View]

<?php e($form->input('Model.field', array('type' => 'select', 'multiple' => 'checkbox', 'options' => $list))); ?>


そして、コントローラーから options にデータをセットします。

[Controller]

$list = array('1' => 'サッカー', '2' => '野球');
$this->set(compact('list'));

1 2 3 4 5 6 7 8 >>

2017年10月
 << <   > >>
1 2 3 4 5 6 7
8 9 10 11 12 13 14
15 16 17 18 19 20 21
22 23 24 25 26 27 28
29 30 31        

CakePHPに関する情報をまとめていきます。

開発スピードがアップできればうれしいです。

>>連絡はこちらへどうぞ



CakePHP最新版
CakePHP 1.2.3.8166


CakePHPの書籍

CakePHPによる実践Webアプリケーション開発

CakePHP1.2で作成する人にオススメ。
とても参考になります。

まるごとPHP!(vol.2)

安藤さんの解説が載っています。
AmazonのPagination部分は参考になります。

CakePHPによるWebアプリケーション開発

まだ読んだことありません

CakePHPポケットリファレンス
CakePHPポケットリファレンス
CakePHP1.2 でやるなら、これがあると何かと便利♪

CakePHP徹底入門
CakePHP徹底入門
CakePHP1.2 を今から始めるならここから

Fast CakePHP
Fast CakePHP
シンプルでわかりやすい CakePHP の入門書

CakePHPガイドブック
CakePHPガイドブック
CakePHP1.1 ではとても参考にした CakePHP 最初の入門書

検索

XMLフィード

16ブログ     powered by b2evolution