public function request()
{
return $this->belongsTo(Request::class)->join('orders.users', 'users.id', '=', 'requests.user_id');
}
public function user()
{
return $this->hasOneThrough(
User::class,
Request::class,
'id',
'id',
'request_id',
'user_id');
}
$tables = [
'request_discussions' => 'request_id',
'requests' => 'user_id',
'users' => 'id'
];
Route::get('', function() {
$s = RequestDiscussion::find(23721);
dd($s->user);
});
public function user()
{
$instance = $this->newRelatedInstance(User::class);
$foreignKey = 'requests.id';
$localKey = 'request_id';
return $this->newHasOne($instance->newQuery(), $this, $foreignKey, $localKey)->join('orders.requests', 'requests.user_id', '=', 'users.id');
}
protected function newHasOne(Builder $query, Model $parent, $foreignKey, $localKey)
{
return new HasOne($query, $parent, $foreignKey, $localKey);
}
SQLSTATE[42S22]: Column not found: 1054 Unknown column 'request_discussions.id' in 'where clause'
SELECT
*
FROM
`users`
INNER JOIN `orders`.`requests` ON `requests`.`user_id` = `users`.`id`
WHERE
`request_discussions`.`id` = 23721
AND `request_discussions`.`id` IS NOT NULL
AND `users`.`deleted_at` IS NULL
limit
1
public function user()
{
$instance = $this->newRelatedInstance(User::class);
$foreignKey = 'requests.id';
$localKey = 'request_id';
return $this->newHasOne($instance->newQuery(), $this, $foreignKey, $localKey)->join('orders.requests', 'requests.user_id', '=', 'users.id');
}
protected function newHasOne(Builder $query, Model $parent, $foreignKey, $localKey)
{
return new HasOne($query, $parent, $foreignKey, $localKey);
}
select * from `users`
inner join `orders`.`requests`
on `requests`.`user_id` = `users`.`id`
where `requests`.`id` = ?
and `requests`.`id` is not null
and `users`.`deleted_at` is null
dd($this->setConnection('mysql_u')->hasOne(
User::class,
'id',
'id',
'request_id',
'user_id')->join('orders.requests', 'requests.user_id', '=', 'users.id')->toSql());
select * from `users`
inner join `orders`.`requests`
on `requests`.`user_id` = `users`.`id`
where `users`.`id` = ?
and `users`.`id` is not null
and `users`.`deleted_at` is null
DB::table('request_discussions')
->leftJoin('requests', 'request_discussions.request_id', '=', 'requests.id')
->leftjoin('orders.users','requests.user_id','=','users.id')
->where('request_discussions.id', '=', 23721)
->get();
SQLSTATE[42000]: Syntax error or access violation: 1049 Unknown database 'mysql_u'
SELECT
*
FROM
`users`
INNER JOIN `mysql_u`.`requests` ON `requests`.`user_id` = `users`.`id`
WHERE
`users`.`id` = 23721
AND `users`.`id` IS NOT NULL
AND `users`.`deleted_at` IS NULL
limit
1
$database1 = config()->get('database.connections.mysql.database');
return $this->setConnection('mysql_u')->hasOne(
User::class,
'id',
'id',
'request_id',
'user_id')->join($database1.'.requests', 'requests.user_id', '=', 'users.id');
DB::Connection('mysql')->table('request_discussions')
->leftJoin('requests', 'request_discussions.request_id', '=', 'requests.id')
->leftjoin((DB::Connection('mysql_u')->table('users')), 'requests.user_id', '=', 'users.id')
->get();
echo $data["ru_oublock"]; // количество операций вывода блока
echo $data["ru_inblock"]; // количество операций приёма блока
echo $data["ru_msgsnd"]; // количество отправленных сообщений IPC
echo $data["ru_msgrcv"]; // количество принятых сообщений IPC
echo $data["ru_maxrss"]; // наибольший размер установленной резидентной памяти
echo $data["ru_ixrss"]; // суммарное значение размера разделяемой памяти
echo $data["ru_idrss"]; // суммарное значение размера неразделяемых данных
echo $data["ru_minflt"]; // кол. исправленных страниц (лёгкая ошибка страницы)
echo $data["ru_majflt"]; // кол.ошибочных страниц (тяжёлая ошибка страницы)
echo $data["ru_nsignals"]; // количество полученных сигналов
echo $data["ru_nvcsw"]; // количество согласованных переключений контекста
echo $data["ru_nivcsw"]; // количество несогласованных переключений контекста
echo $data["ru_nswap"]; // количество свопов
echo $data["ru_utime.tv_usec"]; // время на задачи пользователя (user time) (микросекунды)
echo $data["ru_utime.tv_sec"]; // время на задачи пользователя (user time) (секунды)
echo $data["ru_stime.tv_usec"]; // время на системные задачи (system time) (микросекунды)
А вот создание дополнительных объектов рефлексии - это затраты как памяти, так и времени на создание объектов.
Речь не про оценку, а про то что по коду гораздо проще понять что вы имеете ввиду,
А вот создание дополнительных объектов рефлексии - это затраты как памяти, так и времени на создание объектов.
echo $data["ru_oublock"]; // количество операций вывода блока
echo $data["ru_inblock"]; // количество операций приёма блока
echo $data["ru_msgsnd"]; // количество отправленных сообщений IPC
echo $data["ru_msgrcv"]; // количество принятых сообщений IPC
echo $data["ru_maxrss"]; // наибольший размер установленной резидентной памяти
echo $data["ru_ixrss"]; // суммарное значение размера разделяемой памяти
echo $data["ru_idrss"]; // суммарное значение размера неразделяемых данных
echo $data["ru_minflt"]; // кол. исправленных страниц (лёгкая ошибка страницы)
echo $data["ru_majflt"]; // кол.ошибочных страниц (тяжёлая ошибка страницы)
echo $data["ru_nsignals"]; // количество полученных сигналов
echo $data["ru_nvcsw"]; // количество согласованных переключений контекста
echo $data["ru_nivcsw"]; // количество несогласованных переключений контекста
echo $data["ru_nswap"]; // количество свопов
echo $data["ru_utime.tv_usec"]; // время на задачи пользователя (user time) (микросекунды)
echo $data["ru_utime.tv_sec"]; // время на задачи пользователя (user time) (секунды)
echo $data["ru_stime.tv_usec"]; // время на системные задачи (system time) (микросекунды)
Вообще странная вещь для разработчика описывать код словами
Если вы предлагаете передачу объекта через аргумент функции заменить на создание еще одного объекта, значит вы плохо представляете, как и на что выделяется память.
namespace application\core;
class RouteController {
public function __construct() {
$url = trim($_SERVER['REQUEST_URI'], '/');
$check = explode('/', $url)[0];
$controller = 'main';
if($check == 'admin' or $check == 'user') $controller = $check;
$path = '\application\controllers\\' . ucfirst($controller) . 'Controller';
$object = new $path($controller, $url);
}
}
все работает только собранное в кучу, слепленное скотчем и прибитое гвоздями к потолку.
Если я захочу изменить параметры
Остался последний рывок. Ваша помощь была бы очень кстати.
На данный момент не видит таблицу request_discussions.
Хотелось бы иметь рабочий пример с билдером.