【问题标题】:How to write correct way of sql query in php laravel如何在php laravel中编写正确的sql查询方式
【发布时间】:2022-01-17 19:20:56
【问题描述】:

我想从这个表中获取我正在使用查询的所有数据:

      $emp = Employee::where('user_id', '=', $user->id)->first();

    $holidays = Holiday::orderBy('holidays.id', 'desc')->take(5)->where('holidays.id', '=', $emp->id)->get();

它没有给我任何结果。我是php新手,谁能帮帮我吗?

【问题讨论】:

  • 我认为您想要where('holidays.created_by', '=', $emp->id),因为holidays.id 应该是唯一的,而不是绑定到员工ID。

标签: php laravel-5


【解决方案1】:

“雄辩”的方法是在您的 Employee 模型中建立Employees和Holidays之间的关系:

public function holidays() { 
    return $this->hasMany(Holiday::class);
}

然后在您的假期模型中设置相反的:

public function employee() { 
    return $this->belongsTo(Employee::class, 'created_by');
}

请注意,我们必须明确传递外键的名称,因为它不是 Laravel 所期望的 (employee_id)。

然后你可以加载你的员工:

$emp = Employee::where('user_id', $user->id)->first();

然后访问他们的假期:

$holidays = $emp->holidays;

或:

$lastfiveholidays = $emp->holidays()->take(5);

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2018-11-26
    • 1970-01-01
    • 2020-05-24
    • 1970-01-01
    • 2016-04-01
    • 2016-03-24
    • 1970-01-01
    • 2010-11-01
    相关资源
    最近更新 更多