2014-01-01から1年間の記事一覧
Form::checkboxでチェック無しの時はInput::get('iam')は0ではなくて無になる。0を渡したい時はhiddenを埋め込んでおく。 {{ Form::hidden('iam', 0) }} {{ Form::checkbox('iam',1) }} ご本人ですか?
Form::openからメソッドを指定する。 {{ Form::open(['action' => ['UserController@change', $user->id]]) }} {{ Form::close() }}
例えば以下のようなチェックボックスをLaravelのFormで作りたいときは <input class="iphone-toggle" data-no-uniform="true" name="doit" type="checkbox" value="1">このようにする。 {{ Form::checkbox('doit',true,[],['class'=>'iphone-toggle','data-no-uniform'=>'true']) }}
まずは開発環境のホスト名を調べる。以下の例だと「windows-PC」がホスト名だ。 C:\Users\public>hostname windows-PC「bootstrap\start.php」の「Detect The Application Environment」の「your-machine-name」をホスト名に変更する。 /* |----------------…
LaravelとCharismaでペジネーションをすると表示が崩れる。「vendor\laravel\framework\src\Illuminate\Pagination\BootstrapPresenter.php」を編集して、以下の二箇所にaタグを追加すれば想定通りの表示になる。 /** * Get HTML wrapper for disabled text.…
Maatwebsite/Laravel-Excel · GitHubが、かなり便利だ。インストール方法はリンク先に載っているけど、composerでインストールして、app.phpにサービスプロバイダーとファサードを登録する。Excelの面倒な日付変換まで勝手にやってくれるのが嬉しい。 $xlss …
Pycharmでソースコードを自動フォーマット(整形)したいときはCtrl + Alt + L を押す。
laravel-backupを使ったら超簡単だった。 schickling/laravel-backup · GitHub laravel-backupのインストール composer.jsonのrequireに "schickling/backup": "dev-master"を追加してcomposer updateする。 laravel-backupの登録 app/config/app.phpのサー…
下のリンク先では「LaravelとFuelPHPどっちがいい?」という質問に対して回答者が「それはどっちの果物がいい?って質問しているようなものだよ」と諭している。 PHP: Laravel or Fuel PHP? - Stack Overflow色々なフレームワークが盛り上がっている状況で「…
以下の様なエラーが出たら Non-ASCII character seen before =encoding in '日本語'. Assuming UTF-8日本語前にこの文字列を入れる。 =encoding utf8
BootstrapのCharismaでdataTableの設定をするにはcharsima.js内を直接編集する。 //datatable $('.datatable').dataTable({ "sDom": "<'row-fluid'<'span6'l><'span6'f>r>t<'row-fluid'<'span12'i><'span12 center'p>>", "sPaginationType": "bootstrap", "o…
管理者権限かつ開発者権限とか渡すと便利。 $developer = Sentry::createGroup([ 'name' => 'developer', 'permissions' => array( 'admin' => 0, 'develop' => 1, ), ]); $admin = Sentry::createGroup([ 'name' => 'administrator', 'permissions' => arra…
まずSentryで開発者グループを作る。その際に'develop' に1を与える。 $developer = Sentry::createGroup([ 'name' => 'developer', 'permissions' => [ 'admin' => 0, 'develop' => 1, ], ]);次にUserをそのグループに所属させ、このユーザでログインする。…
Laravel + Sentryで認証をやってみた。route.php Route::when('/', 'auth');filter.php Route::filter('auth', function() { if (!Sentry::check()) // If the user is not logged in { return Redirect::guest('user/login'); } });
Confideを愛用していたけど、Sentryに乗り換えた。Entrustを使ったときに気がついたんだけど、Entrustだと1ユーザに複数グループを持たせることができなかった。 ConfideはLaravel専用というのが気に入っていたんだけどなー。
get()やall()の結果が0件というか空であることはisEmpty()で確認できる。 $tmps = Title::all(); if($tmps->isEmpty()){ return Redirect::back(); }
Eloquent上で関連付けし、さらにWhere句を使う時は、useを使って$where句を渡す。以下の例はTitleモデルとNameモデルを関連付けして、さらにWhere句で絞込をしている。 $where = "country='Japan'"; $lists = Title::whereHas('name', function($q) use ($wh…
連想配列を作るのに便利なlists()メソッド。実際に使うときは連想配列に空白も欲しい。そういうときは普通に配列を足せばOK。 $houses = ['0' => ''] + House::all()->lists('town', 'id') ;
XserverだとLaravelのartisanコマンドが効かない。原因はおそらくphpのバージョンだ。例えphpのバージョンを5.3以降に切り替えても「/usr/bin/env php」はphp5.1のままだ。と思ったらこんな記事が!もっと早く知りたかった。 Xserver(レンタルサーバー)でLar…
MessageBagを使ってメッセージ表示する。addメソッドの第一引数はキーらしいけど、ここでは空白にした。 $messages = new Illuminate\Support\MessageBag; $messages->add('', 'この操作はできません。'); return Redirect::back()->withErrors($messages);V…
MySQL限定だけど、テーブルの要素を取得する方法。「Field」はMySQL独特の表現だ。 $title = new Title; $query = 'SHOW COLUMNS FROM ' . $title->getTable(); foreach (DB::select($query) as $column) { $columns[] = $column->Field; } これで$columnsの…
Eloquentを使えばテーブル名を取得できる。 $title = new Title; $title->getTable();
Laravelで'タグ'=>'タグ'のような配列が欲しいときがあるかもしれない。以下の様な場合だ。 <select name="tag"> <option value="タグ">タグ</option> <select>Viewはこうすれば良い。 {{ Form::select('tag', $tags, null) }}Controllerではlists()を使う。 $tags = Tag::lists('name','name');</select></select>
XMLファイルを使ってスクリプトファイルをWindows上で実行する方法。 <package> <job> <script type="text/javascript"> <![CDATA[ WScript.Echo("Hello world!"); ]]> </script> </job> </package>
○artisanのmigrate createコマンドで生成したファイルは、別環境に持っていっても動かない。例えばphp artisan migrate:resetの際に、以下の様なエラーメッセージが出る。 >php artisan migrate:reset {"error":{"type":"Symfony\\Component\\Debug\\Excepti…
デフォルトのUserモデルを使っている人が、Laravelのバージョンをあげるとdb:seedに失敗する。以下のようなメッセージが出る。 C:\xampp\futari>php artisan db:seed {"error":{"type":"Symfony\\Component\\Debug\\Exception\\FatalErrorException","me ssa…
共通関数的なものはBaseControllerに作ればよいのか。今まで気が付かずにファサード使ってたよ。おかげでファサードが勉強できた。
Controllerのshowのidに数字が来たら普通にfind、文字列が来たらwhereにする。 public function show($id) { if (is_numeric($id)) { $tag = Tag::find($id); } else { $tag = Tag::where('name', '=', $id)->first(); } }
listsメソッドの引数の文字列には「.」が使えない。そのためjoinとlistsを併用したい時はASで名前を変える。 というかEloquentでもjoinができたのか。 $lists = Member::select('members.name AS name', 'childs.id AS id') ->join('childs', 'childs.member…
Form::selectはlistsメソッドを使えば一行で書ける。コントローラ側 $lists = Movie::lists('title', 'id');ビュー側 {{ Form::select('director_id', $lists, null, ['data-rel'=>'chosen']) }}もしくはコンフィグファイルを使ってもよい。コンフィグファイ…