class UserDTO
{
/**
* @var AutoDTO
* @Assert\Valid
*/
private $auto;
public function setAuto(AutoDTO $auto)
{
$this->auto = $auto;
return $this;
}
}
class AutoDTO
{
/**
* @var PriceDTO
* @Assert\Valid
*/
private $price;
public function setPrice(PriceDTO $price)
{
$this->price = $price;
return $this;
}
}
select
coalesce(name, 'total') name,
sum(`value`) as value_sum
from reserv
group by name
with rollup;
<?php
$res = DB::table('reserv as r')
->selectRaw('
coalesce(name, "total") name,
sum(`value`) as value_sum
')
->groupBy(DB::raw('name with rollup'))
->get();
print_r($res);
d1 = {item['user_id']:item for item in list1}
d2 = {
item['user_id']:{
**item,
**d1.get(item['user_id'], {})
}
for item in list2
}
list(d2.values())
function getStartAndEndDate($week, $year) {
$dto = new DateTime();
$dto->setISODate($year, $week);
$ret['week_start'] = $dto->format('Y-m-d');
$dto->modify('+6 days');
$ret['week_end'] = $dto->format('Y-m-d');
return $ret;
}
$week_array = getStartAndEndDate(1,2020);
print_r($week_array);
$ref
это не просто сокращение синтаксиса, но ещё и возможность рекурсии (дока), которую вы не сможете развернуть без ссылок. isset() не возвращает TRUE для ключей массива, указывающих на NULL, а array_key_exists() возвращает.
Schema::table('users', function (Blueprint $table) {
$table->string('name', 50)->change();
});