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
namespace App; use Illuminate\Database\Eloquent\Model; class Company extends Model { protected $table = 'company'; }
3. controllerでmodelを読み込む
use App\Company;でmodelを読み込みます。 App\Models\Company;だとエラーが出ます。ディレクトリがそのままと考えてよいでしょう。
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->${カラム名}
@section('content') @foreach($data as $d) <li>{{$d->company_name}}</li> @endforeach @endsection
反映されました。OK~~~~~~~~~~~~♪♪♪
さあ、次はbaldeからinputです。