Ведь получить переменные окружения процесса достаточно легко
$data = [1, 2, 3, 4];
// Тут $result, но можете и $data оставить
$result = array_filter($data, function ($item) {
// Ваше условие
return $item > 2;
});
var_dump($result);
// Как вариант - json принимает заголовки третьим параметром
return response()->json($result, 200, ['Content-Type' => 'application/json; charset=UTF-8']);
// Это примерная идея, нужно проверять/тестировать
public function handle($request, Closure $next)
{
$response = $next($request);
$response->header('Content-Type', 'application/json; charset=UTF-8');
return $response;
}
// В контроллере картинки не трогаем
public function destroy($id)
{
Pechnik::destroy($id);
// return ..
}
// Pechnik.php
protected static function booted()
{
// При удалении удаляем связаные картинки
static::deleted(function (Pechnik $pechnik) {
// Обновлено, т.к. mass delete не вызывает событие для модели Image
// $pechnik->images()->delete();
// Подход тоже не оптимальный, лишние запросы к БД. Есть что улучшать.
foreach ($pechnik->images as $image) {
$image->delete();
}
});
}
// Image.php
protected static function booted()
{
// Удаление картинки из БД - удаляем файл
static::deleted(function (Image $image) {
// Удаляем файл
});
}
/**
* Полный адрес поста.
*
* @return string
*/
public function getFullAddressAttribute()
{
return url("/{$this->user_id}/post/{$this->id}");
}
// Использование
$post->full_address;
// Выводим сообщение
// $sendToTelegram = ...
echo 'Сообщение успешно отправлено';
// Или редирект обратно
// $sendToTelegram = ...
header('Location: ' . $_SERVER['HTTP_REFERER']);
// Или редирект на произвольную страницу
// $sendToTelegram = ...
header("Location: http://www.example.com/");