许多关系LARAVEL

问题描述 投票:0回答:2

我在从第三个表中检索数据时遇到问题,如您所见,我有三个表:

  1. 型号:id,代码,标题
  2. 级别:id,代码。标题
  3. models_level:model_id,level_id

我具有功能:

 $model = model::paginate(10);
    $level = level::all();
    $models_level = models_level::all();
    return view('pg',compact('model','level','models_level'));

如何根据检索到的模型ID检索级别名称?

这是我的刀片

 <tbody>
            @foreach($model as $f)
                <tr class="item{{$f->id}}">
                    <td style="font-size: 13px;"> {{$f->title}}</td>
                    <td style="font-size: 13px;">{{$f->code}}</td>
                    <td style="font-size: 13px;">{{$f->models_level->level_id}}</td> 
                </tr>
            @endforeach
            {{ $filiere->links() }}

            </tbody>

我需要显示标题而不是ID。

在这种情况下,我有2个不同的表,第3个是关联的包含这两个表,所以我必须通过模型来获取model_level。获取级别ID取决于model_id和转到水平并找到标题..

php laravel many-to-many php-7 laravel-6
2个回答
0
投票
Models
– id

levels
– id

models_level
– product_id
– shop_id

此处models_level表称为数据透视表app / Model.php

class Model extends Model
{

    public function levels()
    {
        return $this->belongsToMany('App\level','models_level');
    }
}

app / level.php

class Level extends Model
{

    public function Models()
    {
        return $this->belongsToMany('App\Shop','models_level');
    }
}

$model = model::with('levels')->paginate(10);
return view('pg',compact('model'));

<tbody>
            @foreach($model as $f)
                <tr class="item{{$f->id}}">
                    <td style="font-size: 13px;"> {{$f->title}}</td>
                    <td style="font-size: 13px;">{{$f->code}}</td>
                    <td style="font-size: 13px;">{{$f->levels[0]->id}}</td> 
                </tr>
            @endforeach
            {{ $filiere->links() }}

            </tbody>

您可以阅读有关many to many relationships in the docs.的更多信息


-1
投票

我假设您正在使用一对多关系,并且在模型类中具有正确的方法。

通过这种方式,您可以将控制器方法更改为:

$model = model::with('level')->paginate(10);
return view('pq', $model);

并且在刀片文件循环中:

<td style="font-size: 13px;">{{$f->level->title}}</td>

您应该在laravel文档中阅读雄辩的关系:https://laravel.com/docs/6.x/eloquent-relationships

© www.soinside.com 2019 - 2024. All rights reserved.