
Shift automatically applies the Laravel coding style - which uses the PSR-12 coding style as a base with some minor additions. You may customize the code style applied by configuring [Pint](https://laravel.com/docs/pint), [PHP CS Fixer](https://github.com/FriendsOfPHP/PHP-CS-Fixer), or [PHP CodeSniffer](https://github.com/squizlabs/PHP_CodeSniffer) for your project root. For more information on customizing the code style applied by Shift, [watch this short video](https://laravelshift.com/videos/shift-code-style).
67 lines
1.4 KiB
PHP
67 lines
1.4 KiB
PHP
<?php
|
|
|
|
namespace App\Model\helpdesk\Notification;
|
|
|
|
use App\BaseModel;
|
|
|
|
class Notification extends BaseModel
|
|
{
|
|
protected $table = 'notifications';
|
|
|
|
protected $fillable = [
|
|
|
|
'model_id', 'userid_created', 'type_id',
|
|
];
|
|
|
|
public function type()
|
|
{
|
|
$related = 'App\Model\helpdesk\Notification\NotificationType';
|
|
$id = 'type_id';
|
|
|
|
return $this->belongsTo($related, $id);
|
|
}
|
|
|
|
public function model()
|
|
{
|
|
$related = 'App\Model\helpdesk\Ticket\Tickets';
|
|
$id = 'model_id';
|
|
|
|
return $this->belongsTo($related, $id);
|
|
}
|
|
|
|
public function userNotification()
|
|
{
|
|
$related = 'App\Model\helpdesk\Notification\UserNotification';
|
|
$foreignKey = 'notification_id';
|
|
|
|
return $this->hasMany($related, $foreignKey);
|
|
}
|
|
|
|
public function deleteUserNotification()
|
|
{
|
|
$user_notifications = $this->userNotification;
|
|
if (count($user_notifications) > 0) {
|
|
foreach ($user_notifications as $noti) {
|
|
$noti->delete();
|
|
}
|
|
}
|
|
}
|
|
|
|
public function dummyDelete()
|
|
{
|
|
$user_notifications = UserNotification::get();
|
|
if (count($user_notifications) > 0) {
|
|
foreach ($user_notifications as $noti) {
|
|
$noti->delete();
|
|
}
|
|
}
|
|
}
|
|
|
|
public function delete()
|
|
{
|
|
$this->deleteUserNotification();
|
|
// $this->dummyDelete();
|
|
parent::delete();
|
|
}
|
|
}
|