drxp993551 2018-11-19 07:10
浏览 37
已采纳

如何加入Laravel 5.4中的两个表

I am learning Laravel 5.4. But I have stuck in one place.

I have two tables coursenames and branchnames.

branchnames table contains: id, branchname, course_id

coursenames table contains: id, coursename

coursename has a unique name, and course_id of branchnames has an id of coursename, which can be repeated.

My BranchNameController is:

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

branchname.blade.php is:

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

I want to show course name instead of {{ $branchnames->course_id }}. How it can be done?

model branchname.php is:

<?php

namespace App;

use Illuminate\Database\Eloquent\Model;

class branchname extends Model
{
//
}

model coursename.php is:

<?php

namespace App;

use Illuminate\Database\Eloquent\Model;

class coursename extends Model
{
//
}
  • 写回答

5条回答 默认 最新

  • dougangxin5695 2018-11-19 07:19
    关注

    You can use Laravel relations to achieve this. Your branchnames course_id column belongs to course table.

    Add the following relation in you branchname model:

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

    Then in you controller index function use:

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

    Then in view you can show name as:

    <td>{{ isset($branchnames->course) ? $branchnames->course->coursename : "" }}</td>
    
    本回答被题主选为最佳回答 , 对您是否有帮助呢?
    评论
查看更多回答(4条)

报告相同问题?

悬赏问题

  • ¥15 2024-五一综合模拟赛
  • ¥15 如何将下列的“无限压缩存储器”设计出来
  • ¥15 下图接收小电路,谁知道原理
  • ¥15 装 pytorch 的时候出了好多问题,遇到这种情况怎么处理?
  • ¥20 IOS游览器某宝手机网页版自动立即购买JavaScript脚本
  • ¥15 手机接入宽带网线,如何释放宽带全部速度
  • ¥30 关于#r语言#的问题:如何对R语言中mfgarch包中构建的garch-midas模型进行样本内长期波动率预测和样本外长期波动率预测
  • ¥15 ETLCloud 处理json多层级问题
  • ¥15 matlab中使用gurobi时报错
  • ¥15 这个主板怎么能扩出一两个sata口