$promise1 = $client->getAsync('http://www.example.com/foo1');
$promise2 = $client->getAsync('http://www.example.com/foo2');
$promise3 = $client->getAsync('http://www.example.com/foo3');
$promises = [$promise1, $promise2, $promise3];
$results = GuzzleHttp\Promise\settle($promises)->wait(); // тут все результаты
public function index()
{
$user = Auth::user();
return Inertia::render('Home', [
'user' => $user
]);
}
<!DOCTYPE html>
<html>
<head>
<!-- ... -->
</head>
<body>
@inertia
<script>
// Объект пользователя, переданный из контроллера
const user = @json($page.props.user);
</script>
</body>
</html>
return Inertia::render('Home', [
'user' => $user,
'asset' => 'js/app.js'
]);
/**
* @return array{uid: string, name: string, isAdmin: bool}
* @throws AuthenticationException on authentication error
*/
private static function authenticate(string $login, string $password): array
{
}
$items = User::when($request->get('login'), function($query, $login){ $query->where('login', $login) })
->when($request->get('date_start'), function($query, $date_start){ $query->where('date_start', '>=', $date_start) })
->when($request->get('date_end'), function($query, $date_end){ $query->where('date_end', '<=', $date_end) })
->get();
cities
и airports
(обратите внимание – названия во мн. числе)id | name | другие поля, если нужно
id | city_id | name | другие поля, если нужно
City
и Airport
(обратите внимание – названия в ед. числе)City
создать отношение один-ко-многим (в городе может быть несколько аэропортов)public function airports(): \Illuminate\Database\Eloquent\Relations\HasMany {}
return $this->hasMany(\App\Models\Airport::class);
}
Airport
создать обратное отношениеpublic function city(): \Illuminate\Database\Eloquent\Relations\BelongsTo {}
return $this->belongsTo(\App\Models\City::class);
}
$from = $request->input['otkuda'];
$city = \App\Models\City::whereName($from) // По названию города
->firstOrFail();
// или
// $fromId = $request->input['otkuda'];
// $city = \App\Models\City::findOrFail($fromId); // По ID города
dump($city->toArray()); // Получили город
dump($city->airports->toArray()); // Получили список аэропортов города
$airportId = $request->input['airportId'];
$airport = \App\Models\Airport::findOrFail($airportId);
dump($airport->toArray()); // Получили аэропорт по ID
dump($airport->city->toArray()); // Получили город, в котором этот аэропорт находится.
<?php
$base_url = 'https://cloud-api.yandex.net/v1/disk/public/resources/download?';
/**
* Ссылка на файл YaDisk
*/
$link = 'https://disk.yandex.ru/d/X2H8NijOtWahmQ';
/**
* Формирование API ссылки
*/
$final_url = $base_url . 'public_key=' . $link;
/**
* Получение данных ответа
*/
$ch = curl_init($final_url);
curl_setopt($ch, CURLOPT_RETURNTRANSFER, true);
curl_exec($ch);
$http_code = curl_getinfo($ch, CURLINFO_RESPONSE_CODE);
curl_close($ch);
/**
* Проверка HTTP кода
*/
if ($http_code === 200) {
$json = json_decode(file_get_contents($final_url));
$linkFile = $json->href;
/**
* Путь куда сохранять файл
*/
$path = \Core\Services\Path\Path::public('tmp') . '/ar.zip';
file_put_contents($path, file_get_contents($linkFile));
} else {
throw new RuntimeException('Ошибка 404. Страница файла указана неверно.');
}