ふたりはララベル (Laravel PHP Framework)

PHPフレームワークのLaravelの体験記を書いていきます。こんなタイトルのブログですが萌え系アニメは一秒たりとも観たことがありません。

migrateにどうしても失敗する

migrateにどうしても失敗する場合がある。以下みたいなメッセージ。 php artisan migrate Do you really wish to run this command? yes {"error":{"type":"Symfony\\Component\\Debug\\Exception\\FatalErrorException", "message":"Class 'CreateUsersTabl…

Laravelの自作コマンドで引数を取得する

自作コマンドを作成してみた。 php artisan command:make testFutari --command=test:futari 上記コマンドで生成されたソースにfire()とgetArguments()とgetOptions()の中身を追記した。

Laravelでデータを削除するときのForm文

Laravelでデータを削除するときのForm::openの書き方 {{ Form::open([ 'route' => ['comments.destroy',$comment->id], 'method' => 'delete', 'class'=>'form-horizontal' ]) }} <p><button type="submit" class="btn-u btn-u-blue">DELETE</button></p> {{ Form::close() }}

LaravelのEloquentでwhereInを使う

LaravelのEloquentでwhereInを使う。例えば4つのIDから最小の値段を取得する場合。 $nedan = Title::whereIn('id',[10,11,12,13])->min('nedan');

Laravelのソース内でArtisanコマンドを使う

Laravelのソース内でArtisanコマンドを使う。 Artisan::call('mybench:mycommand');引数付きで使う例。 Artisan::call('mybench:mycommand', ['year' => 2014]);引数付きで使う場合、自作コマンド側の引数受け取り部分はこうなる。 /** * Get the console co…

Laravelでラジオボックス

Laravelでラジオボックスの情報を取得したときのメモ。Blade側 @foreach($comments as $comment) <div class="inline-group"> <label class="radio"> <input type="radio" name="priority_{{ $comment->id }}" value='abc'> <i class="rounded-x"></i>abc </label> <label class="radio"> </label></div>

WindowsにComposerをインストールする

以前手動インストールの方法を書いたので今度は自動インストール。ComposerをWindowsに手動インストール - ふたりはララベル (Laravel PHP Framework) ComposerをWindowsに手動インストール - ふたりはララベル (Laravel PHP Framework)Composer-Setupを…

Laravel5のスタート画面の格言たち

Laravel5のスタート画面では、格言がランダムで表示されるようになった。↓白くて薄い! どうやって表示しているのだろう?と思ってtemplateの内容を見てみたら Inspiring::quote()というメソッドが格言を表示していた。ソースを追ってIlluminate\Foundation…

Pycharm上でプログラムが実行できなかった

Pycharm上でプログラムが実行できなかった。調べたらpython interpreterの設定が「None」になっていた。何も設定しないとそうなるのかよ。 Python.exeを指定したら動いた。

LaravelのEloquentで複数条件を指定する

Eloquentのwhereメソッドは重ねることもできる。 Title::where('type', '=', $type)->where('rank', '>', '100')->get();「orWhere」というのもある。 Title::where('type', '=', $type)->orWhere('rank', '>', '100')->get();

Pydio vs Owncloud

ファイル管理のためのソフトが欲しかったけど、PydioとOwncloudのどっちが便利か悩んで決められなかった。だから両方ともサーバに入れてみた。ところがOwncloudはちょっとバージョンアップしたらぶっ壊れてしまった。Pydioは5.2から6.0のバージョンアップも…

Perlでn次ハッシュを使った時のメモ

Perlでn次ハッシュを使った時のメモ use strict; use warnings; my %hash; my @array1 = ('1','2','3'); my @array2 = ('a','b','c'); my @array3 = ('A','B','C'); foreach my $value1 (@array1) { foreach my $value2 (@array2) { foreach my $value3 (@ar…

4つの言語の感想

書くネタが無いので。Perl → 昔は大好きだったけど、古くなりすぎた気がする。 Python → 楽しい。Pycharmエディタが便利。でもPython3の情報をググって読むのは大変。 PHP → CMSとLaravel使うときだけ。 Ruby → 便利そうだけど覚える気はない。

Eloquentを使ってfindの前後を取得する

Eloquentを使ってfindの前後を取得するテクニックがあった。 How to get previous / next records in DB with Eloquent. (Page 1) / Laravel 3.x Code Samples / Laravel Forumsなるほど、モデルにそういうメソッドを追加すればいいのか。idだったら上記のテ…

LaravelのEloquentでID値が指定できない

下記のようにidを指定してcreate()しても、指定した数ではなくて通番になっていた。 $name = Name::find(4); Title::create(['id' => $name->id])モデル上でidを保護しているのが原因だった。

さくらのレンタルサーバにLaravel4.2をインストール

以前にも似たエントリ書きました。 さくらのレンタルサーバにLaravelをインストール - ふたりはララベル (Laravel PHP Framework) 以前との違いは Laravel 4.2 が対象。 publicを移動せずにシンボリックリンクを貼る。 です。 インストールディレクトリを…

LaravelのEloquentでテーブルを消去する

LaravelのEloquentからtruncateも実行できる。 Mymodel::truncate();

LaravelのWorkbenchでdb:seedを実行する

LaravelのWorkbench内にSeederを作ってdb:seedしたい。まず以下のフォルダを作る。 workbench\your_vendor_name\your_package_name\src\database\seedsseedsフォルダ内で普通にSeederを作る。ちなみに以下の例ではFakerを使ってSeederを作ってみた。

Bootstrapのモーダルで枠外をクリックしても解除させない

Bootstrapで、モーダルウィンドウの枠外をクリックしても解除させないためには「data-backdrop="static"」を設定する。 <div class="modal hide fade" data-backdrop="static" id="myModal"> <div class="modal-header"> <button type="button" class="close" data-dismiss="modal">×</button> <h3>Settings</h3> </div> <div class="modal-body"> <p>Here settings …</p></div></div>

HTMLのbuttonタグに送信機能を持たせたくない

HTMLのbuttonに機能を持たせたくないときは「type="button"」とすればよい。Bootstrapでボタンをラベル代わりに使うときに便利。 <button type="button">WARNING</button>

phpMyAdminからXMLエクスポートしたファイルをPHPで扱う

PHP

phpMyAdminからXMLエクスポートしたファイルをPHPで扱ったときのメモ。 $xmlData = simplexml_load_file('dare_comments.xml'); foreach ($xmlData->database->table as $xml) { $data = [ 'id' => $xml->column[0], 'name' => $xml->column[1], ]; Title::c…

Laravelでworkbenchのconfigをコピーする

Laravelでパッケージのconfigをコピーするときはconfig:publishを使う。 # php artisan config:publish vendor/packageしかし自作パッケージの場合は失敗する # php artisan config:publish myvendor/mypackage [InvalidArgumentException] Configuration no…

OctoberCMSをインストールしてみた

Wordpressに飽きてきたので、OctoberCMSをインストールしてみた。install.phpを使うとインストール前チェックでエラーが出るので、Composerを使ってインストールしたら成功した。下記ページの「Composerによるコマンドラインからのインストール」に従えば出…

LaravelでConfigから値を取りだす

Config内で連想配列を使った場合、キーを指定すれば値を取りだすことができる。 Config::get('myconfigfile.array')['mykey']Blade上でループも可能だ。 @foreach(Config::get('myconfigfile.array') as $key => $value) {{ $value }} @endforeach()

League/CsvをLaravelで使う

PHPでCSVを扱うパッケージの「League/Csv」をLaravelで使用してみた。 インストール composer.jsonのrequireに以下を追記して、composer updateする。 "league/csv": "~6.0" CSVを読み込む タブ区切りのCSVファイルを読み込んでみた。

Eloquentでmaxを使う

めっちゃ簡単だった。 Title::max('vote');

Laravelでis not nullを使う

LaravelのEloquentでは Title::where('year','is not',null)->get();という書き方はうまく動作しない。 Title::whereNotNull('year')->get();が正しい。

Laravel5でHTMLとFORMを使う

Laravel5開発版ではHTMLとFORMがデフォルトから消されたため、使う際にはComposerを使ってインストールする。 composer.jsonに追記する illuminate/htmlをcomposer.jsonに追記してcomposer updateする。Formもこの中に含まれる。 "require": { "laravel/fram…

Sentryでログインユーザ情報を取得する

Sentryでログインユーザ情報を取得するには、getUserメソッドを使えばよい。 $user = Sentry::getUser();値を直接取得することもできる。 $id = Sentry::getUser()->id;

Form::modelでエラーが発生する

Form::modelでMethodNotAllowedHttpExceptionのエラーが発生する場合は、methodの設定間違いの可能性がある。「'method' => 'PUT'」を足したら直った。 {{ Form::model( $task, ['route' => ['tasks.update', $task->id], 'role'=>'form', 'method' => 'PUT'…