File: /var/www/ipsremont-demo/app/Repository/Email/EmailsRepository.php
<?php
namespace App\Repository\Email;
use App\Http\Requests\Email\IndexRequest;
use App\Http\Requests\Email\CreateRequest;
use App\Models\EmailLetter;
use App\Traits\GridTrait;
class EmailsRepository
{
use GridTrait;
public static function getById($id)
{
return EmailLetter::findOrFail($id);
}
public function search(IndexRequest $request)
{
$query = $this->getOrderedQuery(EmailLetter::class, $request);
$perPage = $request->per_page ?? config('crud.defaultPerPage');
return $query->paginate((int)$perPage)->appends($request->all());
}
public function save($data)
{
$letter = new EmailLetter();
$letter->subject = $data['subject'];
$letter->body = $data['body'];
$letter->event = $data['event'];
$letter->recipient = $data['recipient'];
$letter->user_id = $data['user_id'];
$letter->name = $data['name'];
$letter->email = $data['email'];
$letter->save();
}
}