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

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

Pythonのsubprocessの標準出力を入手する

Pythonのsubprocessを使って標準出力を入手したい。 import subprocess cmdline = 'echo test' p = subprocess.Popen(cmdline, shell=True, stdin=subprocess.PIPE, stdout=subprocess.PIPE) while True: line = p.stdout.readline() if not line: break pri…

Python3とdecode

Python3で作ったスクリプトをWindowsのコマンドプロンプト上で実行したら、日本語部分のdecodeが失敗した。この部分が line.strip().decode('ascii')こういうエラーを出す。 UnicodeDecodeError: 'ascii' codec can't decode byte 0x82 in position 28: inva…

エクセルで作成したCSVファイルをLaravelに読み込み

Excelで作成したCSVファイルをLaravelに読み込んでみた。 $buf = mb_convert_encoding(file_get_contents( Input::file('csv')->getRealPath()), 'utf-8', 'sjis-win'); $lines = explode("\n", $buf); array_pop($lines); array_shift($lines); 最後のarray…

Laravel5でartisanコマンドを自作

artisan用のコマンドは名前が変わって「コンソール」になった。なのでmake:consoleでコマンドを作る。 php artisan make:console FutariUpdate --command=futari:updateapp\Console\Kernel.phpにコマンドを登録する。 use Illuminate\Console\Scheduling\Sch…

Laravelで自作メソッドにidを渡す

Laravel4で自作メソッドにidを渡す。 Viewの書き方 {{ Form::open(['action' => ['JisakuController@insert',$jisaku->id]) }} routes.phpの書き方 Route::post('jisakus/{id}/insert', 'JisakuController@insert') コントローラーの書き方 public function …

Laravel 5

Laravel 5 がリリースされた。時は来た!それだけだ!

LaravelのSentryでattributeのエラー

LaravelのSentryで以下のエラーが出た。 The [login] attribute is required原因はlogin_attributeの設定を間違えていたことだった。 'login_attribute' => 'email',

Laravelで定数を使う

前も書いた気がするけど、例として「constants.php」を「app/start」内に置く。 #app/start/constants.php

Sentryでnone givenのエラーが出る

LaravelのSeederを使ってSentry用のユーザを一気に追加しようとしたら、以下のエラーメッセージが出た。 [Cartalyst\Sentry\Users\LoginRequiredException] A login is required for a user, none given.そのときのSeederはこちら。

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…