从另一个与名称 laravel 匹配的表中获取数据
P粉378264633
P粉378264633 2024-01-29 12:28:44
[PHP讨论组]

在开始之前,先进行一些翻译,因为我的代码没有使用英语:

提供商 = 供应商

工作=工作

所以我有两个表,供应商表和工作表。每个供应商可以拥有多个作品,并且每个作品只能由一个供应商拥有。它应该是一对多的关系。这是我的桌子

供应商表

工作台

所以,我使用 LARAVEL 作为我的框架。我创建了一个带有操作按钮的供应商表,我希望它能够运行,如果单击该按钮,它将显示确切供应商名称拥有的工作(pekerjaan)列表。正如您从上表中看到的,我将供应商名称 (nama) 添加到数据库中的“工作表”中。我怎样才能让这个功能发挥作用?我对 Laravel 中的“雄辩”很陌生。

这是我的模型文件:

Jobs.php

namespace App\Models;

use Illuminate\Database\Eloquent\Factories\HasFactory;
use Illuminate\Database\Eloquent\Model as Eloquent;

class Pekerjaan extends Eloquent
{
    use HasFactory;

    protected $guarded = [];

    public function penyedia(){
        return $this->belongsTo('App\Models\Penyedia');
   }

}

Provider.php

hasMany('App\Models\Pekerjaan');
   }
}

AdminController.php

public function showpekerjaan(){
        $penyedia = penyedia::all();

        return view('admin.showpekerjaan', compact('penyedia'));
    }

tabelnilai_pekerjaan.blade.php(我想根据供应商显示此工作表)

Tabel Nilai Pekerjaan

@php $no = 1; @endphp @foreach ($penyedia as $penyedias) @endforeach
No. Paket Pekerjaan Nama Perusahaan Lokasi Pekerjaan HPS Nilai Kontrak Aksi
{{$no++}} {{$penyedias->pekerjaan->pekerjaan}} {{$penyedias->pekerjaan->nama}} {{$penyedias->pekerjaan->lokasi}} Rp. {{number_format($pekerjaans->pekerjaan->hps,0,',',',')}} Rp. {{number_format($pekerjaans->pekerjaan->nilai_kontrak,0,',',',')}} Edit

有什么我需要添加、编辑或更改的吗?谢谢

P粉378264633
P粉378264633

全部回复(1)
P粉710478990

您正在尝试将数组打印为字符串。您的 pekerjaan() 关系具有 hasmany 属性,并且它返回数组。如果您想显示所有pekerjaan,则需要在循环内运行第二个循环。如果你只需要显示一个,你可以简单地这样做

{{$penyedias->pekerjaan[0]->pekerjaan}}

要显示所有职位,您可以在 $provider->jobs 上循环,例如:

@php $no = 1; @endphp
                  @foreach ($penyedia as $penyedias) 
                   @foreach($penyedias->pekerjaan as $pekerjaan)
                  
{{$no++}}
                    {{$pekerjaan->pekerjaan}}
                    {{$penyedias->nama}}
                    {{$pekerjaan->lokasi}}
                    Rp. {{number_format($pekerjaan->hps,0,',',',')}}
                    Rp. {{number_format($pekerjaan->nilai_kontrak,0,',',',')}}
                    
                        Edit
                    
                  
                   @endforeach
                  @endforeach

并更改 $provider =provider::all();在您的控制器上 $provider = Provider::all();

热门教程
更多>
最新下载
更多>
网站特效
网站源码
网站素材
前端模板
关于我们 免责申明 举报中心 意见反馈 讲师合作 广告合作 最新更新 English
php中文网:公益在线php培训,帮助PHP学习者快速成长!
关注服务号 技术交流群
PHP中文网订阅号
每天精选资源文章推送
PHP中文网APP
随时随地碎片化学习

Copyright 2014-2025 https://www.php.cn/ All Rights Reserved | php.cn | 湘ICP备2023035733号