aston_ua:
私は自分のサイト上でドローシステムを持っています。2これで、データベースに描画しますが、何らかの理由で、最後に作成ドローはドローページに表示されるがあります。私のコードは次のとおりです。
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()
。
私の問題は、私はこのエラーを修正することができますどのように、どこにありますか?
アミットSenjaliya:
あなたが使用している場合はfirst()
方法手段を一つだけレコードが取得します。
今、あなたは、データベースから2つのレコードたい言ったように。ここで利用可能な2つの方法があります。
1)テイク()
$giveaway = Giveaway::orderBy('id', 'desc')->take(2)->get();
2)限界()
$giveaway = Giveaway::orderBy('id', 'desc')->limit(2)->get();
あなたが使用していないので、*あなたの問題が発生するget()
方法を。