魔法使いの卵

WEBエンジニアの卵の成長記録

Laravel5 一覧取得をやってみたったwんごwww


Larave5 テーブルを作成してテストデータを流し込んでみたったw - 魔法使いの卵

前回seedからテストデータを流し込むってところまでやったから
実際にそれをviewに表示させてみることにした。

まずはコントローラー

<?php namespace App\Http\Controllers;
use App\Http\Requests;
use App\Http\Controllers\Controller;
use Illuminate\Http\Request;
use App\User;

class AdminController extends Controller {

   /**
    * ユーザ情報取得
    *
    * @return Response
    */
    public function userList()
    {
    $users = User::withTrashed()->get();
    return view('admin.user_list')->with('userslist',$users);
    }

 とりあえず、やってることを見ていく。

namespaceってそもそもなに?
名前空間(なまえくうかん)はNamespaceの訳語で、名前の集合を分割することで衝突の可能性を低減しつつ参照を容易にする概念である。
この集合は、全事象の元の全ての組み合わせ可能なものからなる集合全体および物理的な名称を指すことが可能である。つまり英字・数字・記号などを組みあわせて作られる名前全てを含む集合である。名前に結び付けられる実体(型や変数)は、名前がそれぞれどの集合(空間)に属するか指定されることで一意に定まる。名前空間が異なれば同じ名前でも別の実体に対応付けられる。

おっし、わからん。
触ってみた感じで自分流の解釈を持つことにしてみた。

namespace
ファイル内で使いたいものがどこのなんなのか?ってことを指定するもの。
ここでどこのなにを使いたいのかを指定してあげることでlaravel5は場所を選ばずに
自由に設置できるんじゃないのかなーっておもってる。

use App\User;
これなに?
このコントローラーがどこのモデルを使うのかを書いてあげる
これを書いてあげないとどこのモデルつかえばええんやって怒られるw

$users = User::withTrashed()->get();
ってなにしてんの?

softdeleteも全件取得の対象に含んで全部のレコード情報を

$usersにぶっこむってことをしてる
ちなみにwithTrashed()を書いてあげないとsoftdelete使って

論理削除されたレコードは表示されない。 

return view('admin.user_list')->with('userslist',$users);
ってなにしてんの?

return view('admin.user_list')
admin/user_list.blade.phpのviewに対してwithの情報を返すってことをしてる

with('userslist',$users);

$usersに突っ込んだ情報をview側で使うときに''の文字列ので使えるようにしてる

 


次は実際にviewをみてみる

@extends('admin.app')
@section('content')
<table border="1">
<tr>
<th>ID</th>
<th>名前</th>
<th>メールアドレス</th>
<th>パスワード</th>
<th>郵便番号</th>
<th>住所</th>
<th>誕生日</th>
<th>年齢</th>
<th>性別</th>
<th>作成日</th>
<th>編集日</th>
<th>削除日</th>
<th>状態</th>
</tr>
@foreach($userslist as $user)
<th>{!! $user['id'] !!}</th>
<th>{!! $user['name'] !!}</th>
<th>{!! $user['email'] !!}</th>
<th>{!! $user['password'] !!}</th>
<th>{!! $user['zipcode'] !!}</th>
<th>{!! $user['address'] !!}</th>
<th>{!! $user['barthday'] !!}</th>
<th>{!! $user['age'] !!}</th>
<th>{!! $user['sex'] !!}</th>
<th>{!! $user['created_at'] !!}</th>
<th>{!! $user['updated_at'] !!}</th>
<th>{!! $user['deleted_at'] !!}</th>
<th>{!! $user['delete_flag'] !!}</th>
@endforeach
</table>

@endsection

今回もlaravel4でしっかり恩恵をうけたbladeを使うようにした。

laravel4との変更点は細かいものはあるけど
表示の書式が{{}}から{!! !!}に変わったところ。
エスケープは{{{ }}}から{{ }}に変更されてる。

あとはそんなに大きな変更はないしドキュメントみたら
わかるレベルだから特筆することがないw

強いて言うならパスの書き方が
laravelは'/'ではなくて'.'でやってるってことを知ったぐらいw

ルーティング
Route::get('/admin/user_list', 'AdminController@userList');
特に特筆することがないw
とりあえずこんなかんじでやってみたーwってかんじw

 

感想:
viewへの渡し方がlaravel5では直感的になってるなぁとw
vimからphpstormを使うように今してるけど
ddしたり:wしたり完全にvimのコマンドの癖がついててわろたw