首页 > 解决方案 > 关系数据不会出现在 laravel 视图中

问题描述

关系数据不会出现在 laravel 视图中

在此处输入图像描述

在此处输入图像描述 在此处输入图像描述 在此处输入图像描述

> 查看

              <td>
                @foreach($p->jenis as $a)
                {{ $a->jenis_penyedia }},
                @endforeach
              </td>

科巴

> 模型 Jenis.php

<?php

namespace App;

use Illuminate\Database\Eloquent\Model;

class Jenis extends Model
{
protected $table="tbl_jenis_penyedia";
protected $fillable=['id_jenis_penyedia','jenis_penyedia'];

public function profile(){
    return $this->belongsTo('App\Profile');
}
}

> 模型简介.php

<?php

namespace App;

use Illuminate\Database\Eloquent\Model;

class Profile extends Model
{
protected $table="tbl_profil_penyedia";
protected $fillable=['id_profil_penyedia','id_jenis_penyedia','nama', 'no_ktp', 'file',  'npwp', 'bank', 'no_rek', 'email', 'no_telp', 'keahlian', 'pengalaman', 'alamat', 'pendidikan'];

    public function jenis(){
        return $this->hasMany('App\Jenis');
    }
}

模型

> 控制器

        $profile = Profile::all();
         return view('profile/homeprofile',['profile' => $profile]);

控制器

没有错误只有数据没有出现

在此处输入图像描述

标签: phplaraveleloquentrelation

解决方案


检查您的数据库迁移文件。在 create_tbl_profil_penyedia_table 中定义它:迁移它。

 $table->unsignedInteger('id_jenis_penyedia')->unsigned();
 $table->foreign('id_jenis_penyedia')->references('id_jenis_penyedia')->on('tbl_jenis_penyedia');

编辑您的 Jenis 模型

public function jenis(){
     return $this->hasMany('App\Jenis', 'id_jenis_penyedia');
  }


根据您的控制器,您的视图应该像这样工作:

 @foreach($profile as $p)
     @foreach($p as $a)
      {{ $a->jenis->jenis_penyedia }},
     @endforeach
 @endforeach

推荐阅读