mysqlにデータが入っており、controllerからmodelを呼び出してviewの*.blade.phpに表示させたい。
何をするか?こんなところでしょうか??(色々試していたら2日かかった)
1. mysqlにデータを入れる
2. modelから1で入れたテーブルを読み込む
3. controllerでmodelを読み込む
4. viewでmysqlのデータを表示する
1. mysqlにデータを入れる
まず、mysqlのtableにデータを挿入します。
INSERT INTO company(company_name, type, status) VALUES ('富士通', 1, 1),('リク ルート', 1, 1),('日本ユニシス', 1, 1);
2. modelから1で入れたテーブルを読み込む
app/Company.php
1 2 3 4 5 6 7 8 | namespace App; use Illuminate\Database\Eloquent\Model; class Company extends Model { protected $table = 'company' ; } |
3. controllerでmodelを読み込む
use App\Company;でmodelを読み込みます。 App\Models\Company;だとエラーが出ます。ディレクトリがそのままと考えてよいでしょう。
1 2 3 4 5 6 7 8 9 10 11 12 13 | namespace App\Http\Controllers; use Illuminate\Http\Request; use App\Company; class CompanyIndexController extends Controller { public function index(){ $data = new Company(); $table = $data ::all(); return view( 'companyindex' , [ 'data' => $table ]); } } |
4. viewでmysqlのデータを表示する
companyindex.blade.php
@foreachでcontrollerからpostする
$d->${カラム名}
1 2 3 4 5 | @section( 'content' ) @ foreach ( $data as $d ) <li>{{ $d ->company_name}}</li> @ endforeach @endsection |
反映されました。OK~~~~~~~~~~~~♪♪♪
さあ、次はbaldeからinputです。