LoginSignup
3
5

More than 5 years have passed since last update.

FuelPHPの技術メモ

Last updated at Posted at 2015-03-10

FuelPHPで嵌った内容をメモ書き程度に記録

Controller

遷移元のアクションの取得方法

FuelPHPで気になるあの情報の取り出し方

リクエストパラメータの取得

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');

参考

3
5
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
3
5