gpt4 book ai didi

php - 将 MySQL 查询转换为 Laravel Eloquent

转载 作者:行者123 更新时间:2023-11-29 11:57:44 25 4
gpt4 key购买 nike

我正在尝试将 MySQL 查询转换为 Laravel Eloquent 查询。

以下代码将选择结果的一行,然后返回 weekNum 列的值

function currentWeek() {

$sql = "SELECT DISTINCT weekNum FROM schedule WHERE DATE_ADD(NOW(), INTERVAL -50 HOUR) < gameTimeEastern ORDER BY weekNum LIMIT 1 ";
$query = $mysqli->query($sql);

if ($query->num_rows > 0) {

$row = $query->fetch_assoc();
return $row['weekNum'];

}
}

在 Laravel 的 SchedulesController 中,这就是我想要实现的目标。

public function index()
{

$schedules = Schedule::where('week', '=', 4)->get();

return view('schedules.index', compact('schedules'));
}

显然我不想在本周进行硬编码。这是我的尝试。

public function index()
{
$currentWeek = Schedule::distinct()
->where('gameTime', '<', Carbon::now()->addHours(100))
->orderBy('gameTime', 'desc')
->take(1)
->get();

$schedules = Schedule::where('week', '=', $currentWeek->week)->get();

return view('schedules.index', compact('schedules'));
}

但我收到此错误

ErrorException in SchedulesController.php line 25:
Undefined property: Illuminate\Database\Eloquent\Collection::$week

最佳答案

您无法访问这些属性,因为 ->get() 返回对象集合。为此,您只需要 Eloquent 模型的一个对象。

如果您只需要一个结果,可以将 ->get() 替换为 ->first() 来直接接收模型对象。

关于php - 将 MySQL 查询转换为 Laravel Eloquent,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/32936569/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com