如何在 laravel 中基于 2 个主键显示数据?

爸爸

在此处输入图像描述

在此处输入图像描述

我在 App\Models 中的模型,我添加了 company_id 和 year 作为主键

class CompanyMasterCuti extends Model
{
    use HasFactory;

    protected $table = 'company_master_cuti';
    protected $fillable = [
        'company_id', 'year', 'cuti', 'created', 'created_by', 'modified', 'modified_by', 
    ];
    protected $guarded = [];
    protected $keyType = 'string';
    public $timestamps = false;
    protected $primaryKey = ['company_id', 'year'];
    public $incrementing = false;

    public function company() {
        return $this->belongsTo('App\Models\Company', 'company_id', 'id');
    }
}

我在控制器中的代码

 public function show($company_id, $year) {

        $master_cuti = CompanyMasterCuti::where('company_id', $request->company_id)->where('year', $request->year)->first();

        return view('master-cuti.show', compact('master_cuti'));

    }

我在 index.blade.php 中的代码指向路由显示

@forelse($master_cuti as $m_cuti)

  <a href="{{ route('master-cuti.show', [$m_cuti->company_id, $m_cuti->year] ) }}">
          <i class="badge-circle badge-circle-light-secondary bx bxs-show font-medium-1 text-success"></i>
  </a>
@endforelse

我在 show.blade.php 中的代码

 <div class="card-content">
                                <div class="card-body">
                                    <ul class="list-group p-2" style="padding-top: 5px !important">
                                        
                                        <li class="list-group-item d-flex justify-content-between align-items-center">
                                            <span class="mr-3">Tahun</span>
                                            <span>{{ $master_cuti->year }}</span>
                                        </li>
                                        <li class="list-group-item d-flex justify-content-between align-items-center">
                                            <span class="mr-3">Cuti</span>
                                            <span>{{ $master_cuti->cuti}}</span>
                                        </li>

                                    </ul>
                                </div>
                            </div>

路线

    Route::resource('master-cuti', CompanyMasterCutiController::class);

我想显示基于 company_id 和 year 的数据,这是 table company_master_cuti 的主键。我的代码不正确,因为我试图从控制器返回数据,但数据为空,我的代码有什么问题?我的问题有什么解决方案吗?

索娜·哈恰特良

Laravel 不支持复合主键,请在此处查看如果您想要一个复合主键,您需要手动完成所有工作。

我建议将其id作为主键,并将company_id, year对定义为unique键。

您仍然可以忽略id作为主键并使用company_id, year对作为主键,但正如我提到的那样,这将是手动工作。检查路由和控制器更改。

Route::get('master-cuti/{company_id}/{year}/show', CompanyMasterCutiController::class)->name('master-cuti.show');
 public function show($company_id, $year) {

        $master_cuti = CompanyMasterCuti::where('company_id', $company_id)->where('year', $year)->first();

        return view('master-cuti.show', compact('master_cuti'));

    }

本文收集自互联网,转载请注明来源。

如有侵权,请联系 [email protected] 删除。

编辑于
0

我来说两句

0 条评论
登录 后参与评论

相关文章

如何在laravel中基于Auth用户显示来自另一个表的数据

Laravel显示2个表中的数据

如何在CakePHP中基于2列条件获取数据

如何在mysql中基于2个日期选择记录

如何在PHP中基于2个键值组合从数组中删除重复数据

如何在 Laravel 中对 2 个关系使用查询

如何在laravel中的2个表之间建立关系

如何使用 AJAX 和 Laravel 显示 2 个表中的数据?

Laravel:如何在select2中爆炸并显示多个数据

如何在 Laravel Eloquent ORM 中基于多对多关系从数据库中获取数据

如何在Laravel中使用外键从2个表中返回数据

如何基于R中的2个条件选择数据?

使用2个不同的数据在图表中显示laravel

如何在Laravel 4中基于其他文本框隐藏/显示文本框?

如何在 Laravel 5.8 中基于多对多关系查找数据

我如何在 Laravel Blade 中显示这些数据?有一个更好的方法吗?

如何在 Ionic 中显示 Laravel 数据库数据

如何在Angle 2应用程序中基于md卡选择显示/隐藏primeng数据表列

在laravel中,如何使用2个输入字段“ id”和“加入日期”在视图中搜索和显示学生数据

如何在Typescript / Angular2中显示基于[用户位置]的日期格式

如何在laravel的yajra数据表中显示图像

如何在Laravel中以特定ID的模式显示数据?

如何在Laravel中以表格输入形式显示旧数据

如何在laravel中显示当前登录用户的数据

如何在基于 2 个条件相关任务的工作项查询中返回 PBI

如何在熊猫中基于2个以上条件创建新的df.column?

如何在mysql的表中基于另外2个cols设置col val?

角度2:如何在选择中基于条件选择一个选项?

如何在基于套接字的IM中为2个用户生成唯一的频道名称?