gpt4 book ai didi

php - 如何加入 Laravel 5.4 中的两个表

转载 作者:行者123 更新时间:2023-12-02 06:13:20 24 4
gpt4 key购买 nike

我正在学习 Laravel 5.4。但我一直停留在一个地方。

我有两个表coursenamesbranchnames

branchnames 表包含:id, branchname, course_id

coursenames 表包含:id,coursename

coursename有一个唯一的名字,branchnames的course_id有一个id为coursename,可以重复。

我的 BranchNameController 是:

public function index()
{
$branchname = branchname::all();
$coursename = coursename::all();
return view('admin.branchname',compact('branchname','coursename'));
}

branchname.blade.php 是:

<tbody>
@foreach($branchname as $branchnames)
<tr>
<td>{{ $branchnames->branchname }}</td>
<td>{{ $branchnames->course_id }}</td>
</tr>
@endforeach
</tbody>

我想显示类(class)名称而不是 {{ $branchnames->course_id }}。如何实现?

模型 branchname.php 是:

<?php

namespace App;

use Illuminate\Database\Eloquent\Model;

class branchname extends Model
{
//
}

模型 coursename.php 是:

<?php

namespace App;

use Illuminate\Database\Eloquent\Model;

class coursename extends Model
{
//
}

最佳答案

您可以使用 Laravel 关系来实现这一点。您的 branchnames course_id 列属于类(class)表。

在您的 branchname 模型中添加以下关系:

public function course() {
return $this->belongsTo(\App\coursename::class, 'course_id')
}

然后在你的 Controller 索引函数中使用:

public function index()
{
$branchname = branchname::with('course')->get();
$coursename = coursename::all();
return view('admin.branchname',compact('branchname','coursename'));
}

然后在 View 中您可以将名称显示为:

<td>{{ isset($branchnames->course) ? $branchnames->course->coursename : "" }}</td>

关于php - 如何加入 Laravel 5.4 中的两个表,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/53369846/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com