У меня есть система розыгрыша на моем сайте. Сейчас в базе данных 2 др aws, но по какой-то причине на странице розыгрыша отображается только последний созданный розыгрыш. Мой код:
public function raffling()
{
parent::setTitle('Items raffling | ');
$green_ticket = \DB::table('users')->where('id', $this->user->id)->value('green_ticket');
$kolvo=\DB::table('giveaway_items')->where('status',0)->orderBy('id', 'desc')->count();
$giveaway = Giveaway::orderBy('id', 'desc')->first();
$giveaway_users = \DB::table('giveaway_users')
->where('giveaway_id', $giveaway->id)
->join('users', 'giveaway_users.user_id', '=', 'users.id')
->get();
$giveAway = Giveaway::where('winner_id', '!=', 'NULL')->orderBy('created_at', 'DESC')->first();
$user = User::find($giveAway->winner_id);
$username = $user->username;
$userava = $user->avatar;
$usersteamid = $user->steamid64;
return view('pages.raffling', compact('kolvo', 'giveaway', 'giveaway_users', 'giveAway', 'user', 'username',
'userava', 'usersteamid', 'green_ticket'));
}
Я пытался внести изменения на $giveaway = Giveaway::orderBy('id', 'desc')->first();
и вместо first()
использовать take(2)
, но я получил ошибку Undefined property: Illuminate\Database\Eloquent\Builder::$winner_id
. И та же самая ошибка появляется, если я добавляю take(2)
в строку $giveAway = Giveaway::where('winner_id', '!=', 'NULL')->orderBy('created_at', 'DESC')->first();
вместо first()
.
Где моя проблема, как я могу исправить эту ошибку?