php - 关系数据不会出现在 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]);
控制器
没有错误只有数据没有出现
解决方案
检查您的数据库迁移文件。在 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
推荐阅读
- flutter - 如何解决 Flutter 中的 Cloud Firestore 插件错误?
- r - 对于 = 1 的列中的每个值,将其下方第 3 行的值提取到新的数据框 (R)
- kotlin - --grpckt_out:protoc-gen-grpckt:插件失败,状态码为 1
- python - Python学校/学习
- oauth-2.0 - 如何使用 curl/postman 访问 Azure AD 应用程序代理后面的网页
- mongoose - Mongoose 按附加文档查找过滤
- javascript - 如何在 TypeScript 中全局定义变量?
- javascript - 如何使用 Javascript 选择 Selenium Webdriver 中的最后一个元素?
- reactjs - 无法在我的 Spotify 帐户中保存我的新播放列表(我得到一个空的曲目列表)
- python - Python:黑色不换行