如何在 Laravel 中从外键中查看表字段 [英] How to see table fields from foreign keys in Laravel

查看:22
本文介绍了如何在 Laravel 中从外键中查看表字段的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!

问题描述

我是 Laravel 的新手,语法不好.我想通过外键(该表的id)查看另一个表的值.

I'm new at Laravel and not good with syntax. I want to see the values of another table through the foreign key(id of that table).

https://ibb.co/pXRFRHn 您可以在这张图片中看到我在用户 & 下获得了 id;班级.我想要与这些 ID 关联的标题.

https://ibb.co/pXRFRHn You can see in this picture I get ids under user & class. I want the titles associated with these ids.

我有表格部分、用户和课程.我使用 class_id &user_id 作为节表中的外键.当我尝试显示数据时,我看到了 id,但我想要名称 &从该 id 中提取的其他字段.

I have tables sections,users and a class. I use class_id & user_id as the foreign key in the section table. When I try to show data, I see the id, but I want the name & other fields extracted from that id.

控制器

public function index()
{
    $sections = Section::all();
    $classs = Classs::all();
    $users = User::all();

    return view('sections.index')->with('sections', $sections)->with('classs', $classs)->with('users', $users);
}

刀片/视图

<div class="box">
    <div class="box-header">
        <h3 class="box-title">All Sections</h3>
    </div>
    <div class="box-body">
        <table class="table table-responsive">
            <thead>
            <tr>
                <th>Name</th>
                <th>Class</th>
                <th>User</th>
                <th>Modify</th>
            </tr>
            </thead>
            <tbody>
            @foreach($sections as $cat)
                <tr>
                    <td>{{$cat->title}}</td>
                    <td>{{$cat->class_id}}</td>
                    <td>{{$cat->user_id}}</td>
                    <td>
                        <button class="btn btn-info" data-mytitle="{{$cat->title}}"
                                data-myclassid="{{$cat->class_id}}" data-myuserid="{{$cat->user_id}}"
                                data-catid={{$cat->id}} data-toggle="modal" data-target="#edit">Edit
                        </button>
                        <button class="btn btn-danger" data-catid={{$cat->id}} data-toggle="modal"
                                data-target="#delete">Delete
                        </button>
                    </td>
                </tr>
            @endforeach
            </tbody>
        </table>
    </div>
</div>

具体...

<td>{{$cat->class_id}}</td>

由此,我得到了类 id,但我也想要它的名字.

From this, I get the class id, but I want its name also.

{{$cat->(class_id)->name}}"

但是,它不起作用.

我已经编辑了模型

 class Classs extends Model
{
    //
    protected $fillable = [
        'id',
        'title',

    ];

    public function section()
    {
        return $this->belongsTo('AppSection');

    }
}

截面模型

class Section extends Model
{
    //
    protected $fillable = [
        'id',
        'title',
        'class_id',
        'user_id',

    ];


    public function classs()
    {
        return $this->hasMany('AppClasss');
    }

}

推荐答案

你要做的就是

data-myclassid="{{$cat->class_id}}"

不如试试这个

data-myclassid="{{ IlluminateSupportFacadesDB::table('class')->where('id',$cat->class_id)->value('name')}}"

我假设您的表名是类,因为您想显示类名,因此在该数据库中的类名(列名)将是简单的 'name' ,这就是为什么我将 name 放在 value 字段中......

I am assuming that your table name is class as you want to show class name so in that database class name (column name) would be simple 'name' , that why I put name in value field....

这篇关于如何在 Laravel 中从外键中查看表字段的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!

查看全文
登录 关闭
扫码关注1秒登录
发送“验证码”获取 | 15天全站免登陆