FuelPHPで嵌った内容をメモ書き程度に記録
Controller
遷移元のアクションの取得方法
リクエストパラメータの取得
fuel/app/class/controller/sample.php
// POST/GETされたパラメータの場合
$value = Input::param("name");
// JSONの場合
$value = Input::json("param");
Model/DB
DB::Select時のカラムのエイリアス
fuel/app/class/controller/sample.php
$sql = \DB::select(array('users.name', 'user_name'), array('contents.name','content_name'));
DB::Select時の取得内容を連想配列に変換する
fuel/app/class/controller/sample.php
$sql = \DB::select()
->from('users')
->execute()
->as_array('id');
DB::whereでselect文の検索条件を「IS NOT NULL」を指定する
fuel/app/class/controller/sample.php
$sql = \DB::select()
->from('users')
->where("name" "!=", null);
DBからランダムにデータを取得する
DB::exprでRAND関数を実行することで取得できる
fuel/app/class/controller/sample.php
DB::select()
->from('users')
->limit(5)
->order_by(DB::expr('RAND()'))
->execute();
その他
ページング設定
Paginationクラスを使い、ページングの設定を行い、設定内容をDBクラスにも設定する。
fuel/app/class/controller/sample.php
// ページング設定
$config = array(
'pagination_url' => Uri::base(),
'total_items' => $data["count"],
'per_page' => 10,
'num_links' => 3,
'uri_segment' => 'page',
'show_first' => true,
'show_last' => true,
);
$pagination = Pagination::forge('pagination', $config);
// データ取得
$list = $sql
->limit($pagination->per_page)
->offset($pagination->offset)
->execute()
->as_array();
独自のConfigファイルを定義
1.独自のConfigファイルを追加
fuel/app/config/myaccount.php
<?php
return [
'user_name' => 'SRAUFactory',
'password' => '*******************',
];
2.config.phpに定義を追加
fuel/app/config/config.php
// 'config' = array(),
↓↓↓
fuel/app/config/config.php
'config' = array(
'myaccount' => 'myaccount',
)
3.参照したい箇所で以下のようにコールする
fuel/app/class/controller/sample.php
$userName = Config.get('myaccount.user_name');
$password = Config.get('myaccount.password');