亚洲在线久爱草,狠狠天天香蕉网,天天搞日日干久草,伊人亚洲日本欧美

為了賬號安全,請及時綁定郵箱和手機立即綁定
已解決430363個問題,去搜搜看,總會有你想問的

Laravel 7 有沒有辦法訪問遠程關系?

Laravel 7 有沒有辦法訪問遠程關系?

PHP
隔江千里 2023-06-24 18:29:44
我有四個表,在我的工資表中,我想選擇一名員工并填寫他/她的工資單詳細信息。唯一的問題是我無法獲取員工職位詳細信息,因為它沒有直接連接到工資表。員工模型class Employees extends Model{protected $fillable = [    'fname',    'lname',    'gender',    'address',    'positions_id'];public function positions(){    return $this->belongsTo(Positions::class);}public function payrolls(){    return $this->belongsToMany(Payrolls::class);}}職位模型class Positions extends Model{protected $fillable = [    'name',    'basic_pay'];public function employees(){    return $this->hasMany(Employees::class);}}薪資模型class Payrolls extends Model{protected $fillable = [    'days_work',    'overtime_hrs',    'late',    'absences',    'bonuses',    'employees_id'];public function employees(){    return $this->belongsToMany(Employees::class);}}有沒有辦法可以連接工資單和職位?我想從職位表中獲取 basic_pay 并將其顯示在工資表上(可能通過中間表)。
查看完整描述

1 回答

?
狐的傳說

TA貢獻1804條經驗 獲得超3個贊

我想到了。


我使用查詢生成器連接控制器上的三個表(員工、工資單、職位):


public function show(Employees $employee, Payrolls $payroll)

{

    $basic_pay = DB::table('payrolls')

    ->join('employees', 'employees.id', '=', 'payrolls.employees_id')

    ->join('positions', 'positions.id', '=', 'employees.positions_id')

    ->select('positions.basic_pay')

    ->where('payrolls.employees_id', '=', $payroll->employees_id)

    ->get();


    $position_name = DB::table('payrolls')

    ->join('employees', 'employees.id', '=', 'payrolls.employees_id')

    ->join('positions', 'positions.id', '=', 'employees.positions_id')

    ->select('positions.name')

    ->where('payrolls.employees_id', '=', $payroll->employees_id)

    ->get();


    return view('payrolls.show')

    ->with('payrolls', $payroll)

    ->with('basic_pay', $basic_pay)

    ->with('position_name', $position_name)

    ->with('employees', $employee);

}

以及我的看法:


<label><h4>Position: </h4></label>

<span style="font-size: 25px">

   {{ $position_name->pluck('name')->first() }}

</span><br>


<label><h4>Basic Pay: </h4></label>

<span style="font-size: 25px">

   {{ $basic_pay->pluck('basic_pay')->first() }}

</span><br>

我使用 pluck 來選取我想要顯示的所需列字段。


查看完整回答
反對 回復 2023-06-24
  • 1 回答
  • 0 關注
  • 131 瀏覽

添加回答

舉報

0/150
提交
取消
微信客服

購課補貼
聯系客服咨詢優惠詳情

幫助反饋 APP下載

慕課網APP
您的移動學習伙伴

公眾號

掃描二維碼
關注慕課網微信公眾號