どのように私はLaravelを使用して、where句でテーブルの最後のレコードを取得するのですか?

ライアン・サックス:

私は、データベース通知を作成しています。InterviewRequestReceived.php:私は2つの通知クラスがあります。

$user = Auth::user();
        $interviewRequestReceived = InterviewRequestsReceived::latest()->where('user_id', $user->id)->get();
        return [
            'date_time1' => $interviewRequestReceived[$interviewRequestReceived->count() - 1]->latest()->get('date_time1'),
            'date_time2' => $interviewRequestReceived[$interviewRequestReceived->count() - 1]->latest()->get('date_time2')
        ];

そして、InterviewRequestSent.php:

public function toDatabase($notifiable)
    {
        $user = Auth::user();
        $interviewRequestSent = InterviewRequestsSent::latest()->where('user_id', $user->id)->get();
        return [
            'date_time1' => $interviewRequestSent[$interviewRequestSent->count() - 1]->latest()->get('date_time1'),
            'date_time2' => $interviewRequestSent[$interviewRequestSent->count() - 1]->latest()->get('date_time2')
        ];
    }

私は3つのテーブルを持っています。interview_requests_receiveds、interview_requests_sentsと私は通知表を作成し、移行しました。私のフォームで、私は、日時フィールドの2つのオプションを持っているので、雇用主は、彼らが候補者をインタビューするために働くだろう2可能な日付と時刻を選択することができます。私のフォームは動作しています。私の通知は、それだけではなく、最後に挿入されたレコードの、ユーザーの日付と時刻、ログインのすべてを挿入しますを除いて取り組んでいます。

私は)(最新のを使用しようとしているが、それは働いていません。

Sehdev:

Laravelのドキュメントあたりとして

latestおよびoldest方法は、あなたが簡単にできるようにする日付で結果を注文しますデフォルトでは、結果がで注文することになるcreated_atコラム。それとも、あなたがでソートしたいという列名を渡すことができます

あなたは代わりに、最新のを使用したい場合はget()、使用するfirst()機能:

すでに存在する場合はcreated_at、あなたの表の列は、

$interviewRequestSent = InterviewRequestsSent::latest()->where('user_id', $user->id)->first();

OR

あなたがに基づいて最後のレコードを取得したいと仮定すると、id

 $interviewRequestSent = InterviewRequestsSent::latest('id')->where('user_id', $user->id)->first();

それとも、あなたはどんな以下の方法を使用して最後のレコードを取得することができます

InterviewRequestsSent::where('user_id', $user->id)->last();

OR

InterviewRequestsSent::where('user_id', $user->id)->orderBy('id', 'desc')->first();`

参照:

Laravel - >クエリビルダ - >最新の方法

おすすめ

転載: http://43.154.161.224:23101/article/api/json?id=298839&siteId=1