DB::listen(function($query) {
Log::info(
$query->sql,
$query->bindings,
$query->time
);
});
/**
* Retrieve the child model query for a bound value.
*
* @param string $childType
* @param mixed $value
* @param string|null $field
* @return \Illuminate\Database\Eloquent\Relations\Relation
*/
protected function resolveChildRouteBindingQuery($childType, $value, $field)
{
$relationship = $this->{Str::plural(Str::camel($childType))}();
$field = $field ?: $relationship->getRelated()->getRouteKeyName();
if ($relationship instanceof HasManyThrough ||
$relationship instanceof BelongsToMany) {
$field = $relationship->getRelated()->getTable().'.'.$field;
}
return $relationship instanceof Model
? $relationship->resolveRouteBindingQuery($relationship, $value, $field)
: $relationship->getRelated()->resolveRouteBindingQuery($relationship, $value, $field);
}
/**
* Retrieve the child model for a bound value.
*
* @param string $childType
* @param mixed $value
* @param string|null $field
* @return \Illuminate\Database\Eloquent\Model|null
*/
public function resolveChildRouteBinding($childType, $value, $field)
{
//Смотрим что нам прилетело - и возвращаем запрос
}
<?php
$accountName = 'zero-ninja';
$secretKey = 'LiJL3dn2rm0acEVfJsRGHKY0IJvvh0QmBRjwsaPfootefwDkD4yzRNJNZaf0cPItl25xQtUVAfHEH6rcWWc4tRkoTSELR7OtJN8JY4UHi9zlJFlAKcunwDUdrSGqkvJr';
$user = [];
$user['user']['email'] = 'test@testme.ru';
$user['user']['phone'] = '+74951234567';
$user['user']['first_name'] = 'Василий';
$user['user']['last_name'] = 'Пупкин';
$user['user']['city'] = 'Москва';
$user['user']['country'] = 'Россия';
$user['user']['group_name'] = ['Группа1', 'Группа2'];
$user['system']['refresh_if_exists'] = 1;
$json = json_encode($user);
$base64 = base64_encode($json);
if( $curl = curl_init() ) {
curl_setopt($curl, CURLOPT_URL, 'https://' . $accountName . '.getcourse.ru/pl/api/users');
curl_setopt($curl, CURLOPT_RETURNTRANSFER,true);
curl_setopt($curl, CURLOPT_HTTPHEADER, array( 'Content-Type: application/json'));
curl_setopt($curl, CURLOPT_VERBOSE,true);
curl_setopt($curl, CURLOPT_POST, true);
curl_setopt($curl, CURLOPT_POSTFIELDS, 'action=add&key=' . $secretKey . '¶ms=' . $base64);
$out = curl_exec($curl);
echo $out;
curl_close($curl);
} else {
echo 'Failed initialization';
}
curl -i -H "Accept: application/json; q=1.0, */*; q=0.1" "https://zero-ninja.getcourse.ru/pl/api/users" -d "action=add&key={secret_key}¶ms=CgkJewoJCQkidXNlciI6ewogICAgImVtYWlsIjoidGVzdEB0ZXN0LW1haWwuY29tIiwKCQkJCSJwaG9uZSI6Iis3OTk5OTk5LTk5LTk5IiwKCQkJCSJmaXJzdF9uYW1lIjoi0JjQstCw0L0iLAoJCQkJImxhc3RfbmFtZSI6ItCY0LLQsNC90L7QsiIsCgkJCQkiY2l0eSI6ItCY0LLQsNC90L7QstC+IiwKCQkJCSJjb3VudHJ5Ijoi0KDQvtGB0YHQuNGPIgoJCQl9LAoJCQkic3lzdGVtIjp7CiAgICAgICAgICAgICAgICAicmVmcmVzaF9pZl9leGlzdHMiOjEKCQkJfQoJCX0="
curl -i -H "Accept: application/json; q=1.0, */*; q=0.1" "https://zero-ninja.getcourse.ru/pl/api/users" -d "action=add&key={secret_key}¶ms={params}"
HTTP/2 200
server: nginx/1.20.1
date: Fri, 09 Sep 2022 21:05:08 GMT
content-type: application/json; charset=UTF-8
set-cookie: PHPSESSID5=f754b2ead20ce1842251abac5e383516; expires=Mon, 10-Oct-2022 21:05:08 GMT; Max-Age=2678400; path=/;Priority=High; domain=zero-ninja.getcourse.ru; HttpOnly
expires: Thu, 19 Nov 1981 08:52:00 GMT
cache-control: no-store, no-cache, must-revalidate
pragma: no-cache
x-frame-options: DENY
server-version: 18
set-cookie: dd_bdfhyr=083f8fe6f3db3b15e15625cf4bae4418; expires=Sat, 10-Sep-2022 21:05:08 GMT; Max-Age=86400; path=/; secure; HttpOnly
x-xss-protection: 1
{"success":false,"error":"Неавторизованное API-обращение","trace":"#0 [internal function]: app\\modules\\api\\controllers\\ApiJsonController->actionIndex()\n#1 /home/deploy/www/prod/releases/1/new/vendor/yiisoft/yii2/base/InlineAction.php(55): call_user_func_array(Array, Array)\n#2 /home/deploy/www/prod/releases/1/new/vendor/yiisoft/yii2/base/Controller.php(151): yii\\base\\InlineAction->runWithParams(Array)\n#3 /home/deploy/www/prod/releases/1/new/vendor/yiisoft/yii2/base/Module.php(455): yii\\base\\Controller->runAction('', Array)\n#4 /home/deploy/www/prod/releases/1/new/vendor/yiisoft/yii2/web/Application.php(84): yii\\base\\Module->runAction('api/users', Array)\n#5 /home/deploy/www/prod/releases/1/new/components/web/Application.php(121): yii\\web\\Application->handleRequest(Object(yii\\web\\Request))\n#6 /home/deploy/www/prod/releases/1/new/vendor/yiisoft/yii2/base/Application.php(375): app\\components\\web\\Application->handleRequest(Object(yii\\web\\Request))\n#7 /home/deploy/www/prod/releases/1/new/web/getcourse.php(37): yii\\base\\Application->run()\n#8 {main}"}