下記エラーで躓いてます。  
どなたかエラー解決への道導を示して下さいませんか。

したい事

```

    viewでforeachを利用し各レコードを抽出し、
    さらに抽出したレコードに対しアロー演算子でプロパティを指定して、
    各カラムのデータを取り出したい。
    
```

エラー文

```

    Trying to get property 'id' of non-object (View: /var/www/html/resources/views/某/詳細.blade.php)
    
```

存在しない変数のプロパティやnullの値を参照した時に発生するエラー。

該当ファイル  
[詳細.blade.php]

```

    <tbody>
    @foreach($某 as $★　←テーブル■■■■esの単数形) 
       <tr>
           <td>{{ $某->id }}</td>
    campactで指定されている某を$某として使用
    
    =>@foreach($某 as $★) の★部分にどの変数を使えばいいのかがわからなくて躓いている
    
```

[某Controller.php]

```

    public function show某(int $某Id): View
    {
       $某 = $this->某Service->retrieve某($某Id);
       return view('某.詳細', compact('★★★★'));
    }
    
```

関連ファイル  
[CarInspectionHistory.php]

```

    public function 某InspectionHistory(): BelongsTo
    {
       return $this->belongsTo(某::class);
    }
    
```

[web.php]

```

    Route::get('/某/詳細/{某_id}', '\App\Http\Controllers\某Controller@show某');
    
```

[某InspectionHistoriesSeeder.php]

```

    public function run()
        {
            factory(App\Models\某InspectionHistory::class, 2500)->create();
        }
    
```

試した事  
[1]

```

    @foreach($某 as $★)
    の$★の部分を
    ・$★
    ・$★_inspection_histories
    ・$★ID
    ・$★s
    に変えてみたけれど同じエラー
    
```

[2]

```

    public function show某(int $某Id): View
    {
       $car = $this->某Service->retrieve某($某Id);
       return view('某.detail', compact('某'));
    }
    の$某を$garsに、compact('某')をcompact('gar')にして、
    @foreach($gars as $gar)で試すも同じエラー
    
```

環境

```

    Laravel Framework 5.7.22
    docker 18.09.1
    
```

余裕ある方ご回答願います。
CC BY-SA 4.0
2019-01-29T11:43:58.027
52401
2023-06-04T10:07:20.877
31572
question
php laravel laravel-5
Laravelでviewにデータを渡して、ブラウザに表示させたいが躓いています。
Laravel の view ファイルにおいては、 controller から渡された変数を展開することができます。  
例えば、

```

    //@controller : ID $id のデータを取得して view に渡す
    $data = YourDataClass::find($id);
    return view('data.show', compact('data'));
    
```

とした場合、 view ファイル（resorces/views/data/show.blade.php）では

```

    //@view
    //controller で compact('data') を渡したので、 $data を使える
    //compact の中の文字列と view での変数名が同じになります
    {{$data}}
    
```

でデータを参照できます。

jazzy coffee さんの例で言うならば（すみません、$某を $bou に変更しています）、

```

    //@controller
    public function showBou(int $bouId): View
    {
       $bou = $this->bouService->retrieveBou($bouId);
       return view('bou.show', compact('bou'));
    }
    
```

としておき、

```

    //@view
    @foreach($bou as $item) 
       <tr>
           <td>{{ $item->id }}</td>
       </tr>
    @endforeach
    
```

とすれば、 controller にてきちんとデータ $bou が取れている限りは view でもデータを展開できるはずです。

cf1. [[laravel] controllerからviewへの変数の受け渡しとその展開方法（@ryo2132 様による Qiita
記事）](https://qiita.com/ryo2132/items/63ced19601b3fa30e6de)  
cf2. [compact 関数（php.net）](https://www.php.net/manual/ja/function.compact.php)
CC BY-SA 4.0
2019-07-03T08:55:12.917
56349
2019-07-03T08:55:12.917
34957
52401
answer
変数名をbouにしますね  
idは存在していないエラーなので

**bouController.php**

```

    public function show($id): View
    {
       $bou = $this->bouService->retrievebou($id);
       return view('bow.detail', compact('bou'));
    }
    
```

**detail.blade.php**

```

    <tbody>
    @foreach($bou as $b) 
       <tr>
           <td>{{ $b->id }}</td>
       <tr>
    @endforeach
    </tbody>
    
```

**web.php**

```

    Route::get('/bou/detail/{id}', '\App\Http\Controllers\bouController@show');    
    
```

とパラメータの渡し方を調整したら上手く行けると思います
CC BY-SA 4.0
2019-10-31T02:59:53.740
60152
2019-10-31T02:59:53.740
35461
52401
answer