Mark a single Laravel notification as read












0















I have a page in my application that displays a list of all of the notifications a user currently has that are unread and each notification will have a read icon.



The ID in the database is set to char so is a long string of letters and numbers. When I display the id of the notifications on the page, they all return numbers that in no way relate to what is in the database so when I run a query to read a notification, it can't find the ID because the ID isn't matching.



What is the best method to read a single notification in Laravel? I'm using the code below to try, but it's the $request->get('id') that's incorrect as I seem to get 12310 as an ID and even 0 for some of them.



Auth::user()->unreadNotifications->where('id', $request->get('id'))->markAsRead()









share|improve this question




















  • 2





    if you can provide some codes, others can help you better.

    – kapitan
    Jan 18 at 12:29











  • type cast them properly before doing any action

    – Abdur Rahman
    Jan 18 at 12:32











  • you meant to say the char data stored in database is not same as display ? Qn 1 : How the char data stored in db?

    – Albert Raj
    Jan 18 at 12:35


















0















I have a page in my application that displays a list of all of the notifications a user currently has that are unread and each notification will have a read icon.



The ID in the database is set to char so is a long string of letters and numbers. When I display the id of the notifications on the page, they all return numbers that in no way relate to what is in the database so when I run a query to read a notification, it can't find the ID because the ID isn't matching.



What is the best method to read a single notification in Laravel? I'm using the code below to try, but it's the $request->get('id') that's incorrect as I seem to get 12310 as an ID and even 0 for some of them.



Auth::user()->unreadNotifications->where('id', $request->get('id'))->markAsRead()









share|improve this question




















  • 2





    if you can provide some codes, others can help you better.

    – kapitan
    Jan 18 at 12:29











  • type cast them properly before doing any action

    – Abdur Rahman
    Jan 18 at 12:32











  • you meant to say the char data stored in database is not same as display ? Qn 1 : How the char data stored in db?

    – Albert Raj
    Jan 18 at 12:35
















0












0








0








I have a page in my application that displays a list of all of the notifications a user currently has that are unread and each notification will have a read icon.



The ID in the database is set to char so is a long string of letters and numbers. When I display the id of the notifications on the page, they all return numbers that in no way relate to what is in the database so when I run a query to read a notification, it can't find the ID because the ID isn't matching.



What is the best method to read a single notification in Laravel? I'm using the code below to try, but it's the $request->get('id') that's incorrect as I seem to get 12310 as an ID and even 0 for some of them.



Auth::user()->unreadNotifications->where('id', $request->get('id'))->markAsRead()









share|improve this question
















I have a page in my application that displays a list of all of the notifications a user currently has that are unread and each notification will have a read icon.



The ID in the database is set to char so is a long string of letters and numbers. When I display the id of the notifications on the page, they all return numbers that in no way relate to what is in the database so when I run a query to read a notification, it can't find the ID because the ID isn't matching.



What is the best method to read a single notification in Laravel? I'm using the code below to try, but it's the $request->get('id') that's incorrect as I seem to get 12310 as an ID and even 0 for some of them.



Auth::user()->unreadNotifications->where('id', $request->get('id'))->markAsRead()






php laravel






share|improve this question















share|improve this question













share|improve this question




share|improve this question








edited Jan 18 at 12:33







JTP

















asked Jan 18 at 12:25









JTPJTP

297




297








  • 2





    if you can provide some codes, others can help you better.

    – kapitan
    Jan 18 at 12:29











  • type cast them properly before doing any action

    – Abdur Rahman
    Jan 18 at 12:32











  • you meant to say the char data stored in database is not same as display ? Qn 1 : How the char data stored in db?

    – Albert Raj
    Jan 18 at 12:35
















  • 2





    if you can provide some codes, others can help you better.

    – kapitan
    Jan 18 at 12:29











  • type cast them properly before doing any action

    – Abdur Rahman
    Jan 18 at 12:32











  • you meant to say the char data stored in database is not same as display ? Qn 1 : How the char data stored in db?

    – Albert Raj
    Jan 18 at 12:35










2




2





if you can provide some codes, others can help you better.

– kapitan
Jan 18 at 12:29





if you can provide some codes, others can help you better.

– kapitan
Jan 18 at 12:29













type cast them properly before doing any action

– Abdur Rahman
Jan 18 at 12:32





type cast them properly before doing any action

– Abdur Rahman
Jan 18 at 12:32













you meant to say the char data stored in database is not same as display ? Qn 1 : How the char data stored in db?

– Albert Raj
Jan 18 at 12:35







you meant to say the char data stored in database is not same as display ? Qn 1 : How the char data stored in db?

– Albert Raj
Jan 18 at 12:35














2 Answers
2






active

oldest

votes


















0














the function above will return an array use first method :
$note = Auth::user()->unreadNotifications->where('id', $request->get('id'))->first()->get();
$note->markAsRead();






share|improve this answer








New contributor




abdalgader sirag is a new contributor to this site. Take care in asking for clarification, commenting, and answering.
Check out our Code of Conduct.




























    0














    Laravel notifications table's id use CHAR as the default field type. So, when you filter for certain id you have to use first() like the following. Since the unreadNotifications is the IlluminateNotificationsDatabaseNotificationCollection



    $notificationId = request('notification_id');

    $userUnreadNotification = auth()->user()
    ->unreadNotifications
    ->where('id', $notificationId)
    ->first();

    if($userUnreadNotification) {
    $userUnreadNotification->markAsRead();
    }





    share|improve this answer























      Your Answer






      StackExchange.ifUsing("editor", function () {
      StackExchange.using("externalEditor", function () {
      StackExchange.using("snippets", function () {
      StackExchange.snippets.init();
      });
      });
      }, "code-snippets");

      StackExchange.ready(function() {
      var channelOptions = {
      tags: "".split(" "),
      id: "1"
      };
      initTagRenderer("".split(" "), "".split(" "), channelOptions);

      StackExchange.using("externalEditor", function() {
      // Have to fire editor after snippets, if snippets enabled
      if (StackExchange.settings.snippets.snippetsEnabled) {
      StackExchange.using("snippets", function() {
      createEditor();
      });
      }
      else {
      createEditor();
      }
      });

      function createEditor() {
      StackExchange.prepareEditor({
      heartbeatType: 'answer',
      autoActivateHeartbeat: false,
      convertImagesToLinks: true,
      noModals: true,
      showLowRepImageUploadWarning: true,
      reputationToPostImages: 10,
      bindNavPrevention: true,
      postfix: "",
      imageUploader: {
      brandingHtml: "Powered by u003ca class="icon-imgur-white" href="https://imgur.com/"u003eu003c/au003e",
      contentPolicyHtml: "User contributions licensed under u003ca href="https://creativecommons.org/licenses/by-sa/3.0/"u003ecc by-sa 3.0 with attribution requiredu003c/au003e u003ca href="https://stackoverflow.com/legal/content-policy"u003e(content policy)u003c/au003e",
      allowUrls: true
      },
      onDemand: true,
      discardSelector: ".discard-answer"
      ,immediatelyShowMarkdownHelp:true
      });


      }
      });














      draft saved

      draft discarded


















      StackExchange.ready(
      function () {
      StackExchange.openid.initPostLogin('.new-post-login', 'https%3a%2f%2fstackoverflow.com%2fquestions%2f54253989%2fmark-a-single-laravel-notification-as-read%23new-answer', 'question_page');
      }
      );

      Post as a guest















      Required, but never shown

























      2 Answers
      2






      active

      oldest

      votes








      2 Answers
      2






      active

      oldest

      votes









      active

      oldest

      votes






      active

      oldest

      votes









      0














      the function above will return an array use first method :
      $note = Auth::user()->unreadNotifications->where('id', $request->get('id'))->first()->get();
      $note->markAsRead();






      share|improve this answer








      New contributor




      abdalgader sirag is a new contributor to this site. Take care in asking for clarification, commenting, and answering.
      Check out our Code of Conduct.

























        0














        the function above will return an array use first method :
        $note = Auth::user()->unreadNotifications->where('id', $request->get('id'))->first()->get();
        $note->markAsRead();






        share|improve this answer








        New contributor




        abdalgader sirag is a new contributor to this site. Take care in asking for clarification, commenting, and answering.
        Check out our Code of Conduct.























          0












          0








          0







          the function above will return an array use first method :
          $note = Auth::user()->unreadNotifications->where('id', $request->get('id'))->first()->get();
          $note->markAsRead();






          share|improve this answer








          New contributor




          abdalgader sirag is a new contributor to this site. Take care in asking for clarification, commenting, and answering.
          Check out our Code of Conduct.










          the function above will return an array use first method :
          $note = Auth::user()->unreadNotifications->where('id', $request->get('id'))->first()->get();
          $note->markAsRead();







          share|improve this answer








          New contributor




          abdalgader sirag is a new contributor to this site. Take care in asking for clarification, commenting, and answering.
          Check out our Code of Conduct.









          share|improve this answer



          share|improve this answer






          New contributor




          abdalgader sirag is a new contributor to this site. Take care in asking for clarification, commenting, and answering.
          Check out our Code of Conduct.









          answered Jan 18 at 13:10









          abdalgader siragabdalgader sirag

          12




          12




          New contributor




          abdalgader sirag is a new contributor to this site. Take care in asking for clarification, commenting, and answering.
          Check out our Code of Conduct.





          New contributor





          abdalgader sirag is a new contributor to this site. Take care in asking for clarification, commenting, and answering.
          Check out our Code of Conduct.






          abdalgader sirag is a new contributor to this site. Take care in asking for clarification, commenting, and answering.
          Check out our Code of Conduct.

























              0














              Laravel notifications table's id use CHAR as the default field type. So, when you filter for certain id you have to use first() like the following. Since the unreadNotifications is the IlluminateNotificationsDatabaseNotificationCollection



              $notificationId = request('notification_id');

              $userUnreadNotification = auth()->user()
              ->unreadNotifications
              ->where('id', $notificationId)
              ->first();

              if($userUnreadNotification) {
              $userUnreadNotification->markAsRead();
              }





              share|improve this answer




























                0














                Laravel notifications table's id use CHAR as the default field type. So, when you filter for certain id you have to use first() like the following. Since the unreadNotifications is the IlluminateNotificationsDatabaseNotificationCollection



                $notificationId = request('notification_id');

                $userUnreadNotification = auth()->user()
                ->unreadNotifications
                ->where('id', $notificationId)
                ->first();

                if($userUnreadNotification) {
                $userUnreadNotification->markAsRead();
                }





                share|improve this answer


























                  0












                  0








                  0







                  Laravel notifications table's id use CHAR as the default field type. So, when you filter for certain id you have to use first() like the following. Since the unreadNotifications is the IlluminateNotificationsDatabaseNotificationCollection



                  $notificationId = request('notification_id');

                  $userUnreadNotification = auth()->user()
                  ->unreadNotifications
                  ->where('id', $notificationId)
                  ->first();

                  if($userUnreadNotification) {
                  $userUnreadNotification->markAsRead();
                  }





                  share|improve this answer













                  Laravel notifications table's id use CHAR as the default field type. So, when you filter for certain id you have to use first() like the following. Since the unreadNotifications is the IlluminateNotificationsDatabaseNotificationCollection



                  $notificationId = request('notification_id');

                  $userUnreadNotification = auth()->user()
                  ->unreadNotifications
                  ->where('id', $notificationId)
                  ->first();

                  if($userUnreadNotification) {
                  $userUnreadNotification->markAsRead();
                  }






                  share|improve this answer












                  share|improve this answer



                  share|improve this answer










                  answered Jan 18 at 16:42









                  Set Kyar Wa LarSet Kyar Wa Lar

                  1,67321436




                  1,67321436






























                      draft saved

                      draft discarded




















































                      Thanks for contributing an answer to Stack Overflow!


                      • Please be sure to answer the question. Provide details and share your research!

                      But avoid



                      • Asking for help, clarification, or responding to other answers.

                      • Making statements based on opinion; back them up with references or personal experience.


                      To learn more, see our tips on writing great answers.




                      draft saved


                      draft discarded














                      StackExchange.ready(
                      function () {
                      StackExchange.openid.initPostLogin('.new-post-login', 'https%3a%2f%2fstackoverflow.com%2fquestions%2f54253989%2fmark-a-single-laravel-notification-as-read%23new-answer', 'question_page');
                      }
                      );

                      Post as a guest















                      Required, but never shown





















































                      Required, but never shown














                      Required, but never shown












                      Required, but never shown







                      Required, but never shown

































                      Required, but never shown














                      Required, but never shown












                      Required, but never shown







                      Required, but never shown







                      Popular posts from this blog

                      Callistus III

                      Plistias Cous

                      Index Sanctorum