array_map(function (Value $value) {
return [
'label' => $value->characteristic->name,
'value' => $value->value,
];
}, $product->values);
$answers['answers'] = array_map(function ($item) {
return [
'id' => $item['qid'],
'aid' => $item['aid'],
];
}, $query);
//объявляем функцию, которая принимает один параметр - путь к папке
function dir_size($dir) {
//в эту переменную будем накапливать размеры всех найденных файлов
$totalsize=0;
//открываем папку
if ($dirstream = @opendir($dir)) {
//перебираем все найденные файлы и папки
while (false !== ($filename = readdir($dirstream))) {
// если это не сама папка и не её родитель
if ($filename!="." && $filename!=".."){
//если это файл - накапливаем его размер
if (is_file($dir."/".$filename)) $totalsize+=filesize($dir."/".$filename);
//если это папка - уходим в рекурсию и накапливаем её результат
if (is_dir($dir."/".$filename)) $totalsize+=dir_size($dir."/".$filename);
}
}
}
//закрываем папку
closedir($dirstream);
//возвращаем накопленное значение размеров
return $totalsize;
}
$title
$error = null;
или передавайте из контроллера. Либо вообще эту проверку удалите.$error = null;
И этнкст ошибки высветился бы флеш сообщением. Если вам не нужно показывать ошибки - уберите. Или сделайте реализацию в контроллере. $mail
, а не $email
?$email_a = 'joe@example.com';
$email_b = 'bogus';
if (filter_var($email_a, FILTER_VALIDATE_EMAIL)) {
echo "E-mail адрес '$email_a' указан верно.\n";
}
if (filter_var($email_b, FILTER_VALIDATE_EMAIL)) {
echo "E-mail адрес '$email_b' указан верно.\n";
} else {
echo "E-mail адрес '$email_b' указан неверно.\n";
}
$id
, $login
, а не массив $userData
, из которого потребуется извлекать эти данные, проверять их тип и существование. При таком подходе вы можете использовать типизацию и будете уверены в переданных данных.contactor_id
или изменить название связи getContactorRelation
$model->contractor
вы получаете id. Сначала ищется свойство, а потом связь.