how to assign an event to a manual table in laravel 5.6
i am using a message system that has an status of not done - doing - done and i am using laravel event for Message model so when any update happens the event stores a row in message_notification table so now i want to use another event for message_notification table so upon each insert into database 1 notification would be send to admin to notify the status of message changed .
i do it untill the store of notification in database now what i need is using laravel event not on a model but on a manual made table and i wanted to know if this is possible and here is the code i have untill here so far
this is event which is name : MessageUpdated
use Dispatchable, InteractsWithSockets, SerializesModels;
/**
* Create a new event instance.
*
* @return void
*/
public function __construct(Message $message)
$changer_id = Auth::user()->id;
DB::table('message_notification')->insert([
[
'title' =>'Message Status has been changed',
'status' => $message->status,
'notification_status' => 0,
'changer_id' => $changer_id,
'created_at' => DB::raw('now()')
]
]);
and here is the Message Model
class Message extends Model
protected $dispatchesEvents = [
"updated" => MessageUpdated::class
];
php laravel model message
add a comment |
i am using a message system that has an status of not done - doing - done and i am using laravel event for Message model so when any update happens the event stores a row in message_notification table so now i want to use another event for message_notification table so upon each insert into database 1 notification would be send to admin to notify the status of message changed .
i do it untill the store of notification in database now what i need is using laravel event not on a model but on a manual made table and i wanted to know if this is possible and here is the code i have untill here so far
this is event which is name : MessageUpdated
use Dispatchable, InteractsWithSockets, SerializesModels;
/**
* Create a new event instance.
*
* @return void
*/
public function __construct(Message $message)
$changer_id = Auth::user()->id;
DB::table('message_notification')->insert([
[
'title' =>'Message Status has been changed',
'status' => $message->status,
'notification_status' => 0,
'changer_id' => $changer_id,
'created_at' => DB::raw('now()')
]
]);
and here is the Message Model
class Message extends Model
protected $dispatchesEvents = [
"updated" => MessageUpdated::class
];
php laravel model message
Whats the name of your event class?
– Adnan Mumtaz
Nov 12 '18 at 9:41
@AdnanMumtaz its MessageUpdated
– Farshad
Nov 12 '18 at 11:08
I think you are updating or creating a record using DB not wich elouqont that's why it is not creating the records.
– Adnan Mumtaz
Nov 12 '18 at 12:59
add a comment |
i am using a message system that has an status of not done - doing - done and i am using laravel event for Message model so when any update happens the event stores a row in message_notification table so now i want to use another event for message_notification table so upon each insert into database 1 notification would be send to admin to notify the status of message changed .
i do it untill the store of notification in database now what i need is using laravel event not on a model but on a manual made table and i wanted to know if this is possible and here is the code i have untill here so far
this is event which is name : MessageUpdated
use Dispatchable, InteractsWithSockets, SerializesModels;
/**
* Create a new event instance.
*
* @return void
*/
public function __construct(Message $message)
$changer_id = Auth::user()->id;
DB::table('message_notification')->insert([
[
'title' =>'Message Status has been changed',
'status' => $message->status,
'notification_status' => 0,
'changer_id' => $changer_id,
'created_at' => DB::raw('now()')
]
]);
and here is the Message Model
class Message extends Model
protected $dispatchesEvents = [
"updated" => MessageUpdated::class
];
php laravel model message
i am using a message system that has an status of not done - doing - done and i am using laravel event for Message model so when any update happens the event stores a row in message_notification table so now i want to use another event for message_notification table so upon each insert into database 1 notification would be send to admin to notify the status of message changed .
i do it untill the store of notification in database now what i need is using laravel event not on a model but on a manual made table and i wanted to know if this is possible and here is the code i have untill here so far
this is event which is name : MessageUpdated
use Dispatchable, InteractsWithSockets, SerializesModels;
/**
* Create a new event instance.
*
* @return void
*/
public function __construct(Message $message)
$changer_id = Auth::user()->id;
DB::table('message_notification')->insert([
[
'title' =>'Message Status has been changed',
'status' => $message->status,
'notification_status' => 0,
'changer_id' => $changer_id,
'created_at' => DB::raw('now()')
]
]);
and here is the Message Model
class Message extends Model
protected $dispatchesEvents = [
"updated" => MessageUpdated::class
];
php laravel model message
php laravel model message
edited Nov 12 '18 at 11:08
Farshad
asked Nov 12 '18 at 9:28
FarshadFarshad
14811
14811
Whats the name of your event class?
– Adnan Mumtaz
Nov 12 '18 at 9:41
@AdnanMumtaz its MessageUpdated
– Farshad
Nov 12 '18 at 11:08
I think you are updating or creating a record using DB not wich elouqont that's why it is not creating the records.
– Adnan Mumtaz
Nov 12 '18 at 12:59
add a comment |
Whats the name of your event class?
– Adnan Mumtaz
Nov 12 '18 at 9:41
@AdnanMumtaz its MessageUpdated
– Farshad
Nov 12 '18 at 11:08
I think you are updating or creating a record using DB not wich elouqont that's why it is not creating the records.
– Adnan Mumtaz
Nov 12 '18 at 12:59
Whats the name of your event class?
– Adnan Mumtaz
Nov 12 '18 at 9:41
Whats the name of your event class?
– Adnan Mumtaz
Nov 12 '18 at 9:41
@AdnanMumtaz its MessageUpdated
– Farshad
Nov 12 '18 at 11:08
@AdnanMumtaz its MessageUpdated
– Farshad
Nov 12 '18 at 11:08
I think you are updating or creating a record using DB not wich elouqont that's why it is not creating the records.
– Adnan Mumtaz
Nov 12 '18 at 12:59
I think you are updating or creating a record using DB not wich elouqont that's why it is not creating the records.
– Adnan Mumtaz
Nov 12 '18 at 12:59
add a comment |
1 Answer
1
active
oldest
votes
You can dispatch the event manually after inserting the row in the database. Look at this section of the documentation. Basically you need to do something like this:
event(new YouEventClass($constructorParameters));
add a comment |
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
);
);
Sign up or log in
StackExchange.ready(function ()
StackExchange.helpers.onClickDraftSave('#login-link');
);
Sign up using Google
Sign up using Facebook
Sign up using Email and Password
Post as a guest
Required, but never shown
StackExchange.ready(
function ()
StackExchange.openid.initPostLogin('.new-post-login', 'https%3a%2f%2fstackoverflow.com%2fquestions%2f53259206%2fhow-to-assign-an-event-to-a-manual-table-in-laravel-5-6%23new-answer', 'question_page');
);
Post as a guest
Required, but never shown
1 Answer
1
active
oldest
votes
1 Answer
1
active
oldest
votes
active
oldest
votes
active
oldest
votes
You can dispatch the event manually after inserting the row in the database. Look at this section of the documentation. Basically you need to do something like this:
event(new YouEventClass($constructorParameters));
add a comment |
You can dispatch the event manually after inserting the row in the database. Look at this section of the documentation. Basically you need to do something like this:
event(new YouEventClass($constructorParameters));
add a comment |
You can dispatch the event manually after inserting the row in the database. Look at this section of the documentation. Basically you need to do something like this:
event(new YouEventClass($constructorParameters));
You can dispatch the event manually after inserting the row in the database. Look at this section of the documentation. Basically you need to do something like this:
event(new YouEventClass($constructorParameters));
answered Nov 12 '18 at 16:38
Tiago DamascenaTiago Damascena
8615
8615
add a comment |
add a comment |
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.
Sign up or log in
StackExchange.ready(function ()
StackExchange.helpers.onClickDraftSave('#login-link');
);
Sign up using Google
Sign up using Facebook
Sign up using Email and Password
Post as a guest
Required, but never shown
StackExchange.ready(
function ()
StackExchange.openid.initPostLogin('.new-post-login', 'https%3a%2f%2fstackoverflow.com%2fquestions%2f53259206%2fhow-to-assign-an-event-to-a-manual-table-in-laravel-5-6%23new-answer', 'question_page');
);
Post as a guest
Required, but never shown
Sign up or log in
StackExchange.ready(function ()
StackExchange.helpers.onClickDraftSave('#login-link');
);
Sign up using Google
Sign up using Facebook
Sign up using Email and Password
Post as a guest
Required, but never shown
Sign up or log in
StackExchange.ready(function ()
StackExchange.helpers.onClickDraftSave('#login-link');
);
Sign up using Google
Sign up using Facebook
Sign up using Email and Password
Post as a guest
Required, but never shown
Sign up or log in
StackExchange.ready(function ()
StackExchange.helpers.onClickDraftSave('#login-link');
);
Sign up using Google
Sign up using Facebook
Sign up using Email and Password
Sign up using Google
Sign up using Facebook
Sign up using Email and Password
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
Whats the name of your event class?
– Adnan Mumtaz
Nov 12 '18 at 9:41
@AdnanMumtaz its MessageUpdated
– Farshad
Nov 12 '18 at 11:08
I think you are updating or creating a record using DB not wich elouqont that's why it is not creating the records.
– Adnan Mumtaz
Nov 12 '18 at 12:59