Файлы хранятся в переменной $ _FILES, а не $ _POST
http://php.net/manual/en/reserved.variables.files.php $ _FILES
http://www.php.net/manual/en/features.file-upload.php Руководство по загрузке файлов PHP.
Для обработки файл (без проверки ошибок):
$ROOT = "/path/to/store/files";
foreach($_FILES as $file => $details)
{ // Move each file from its temp directory to $ROOT
$temp = $details['tmp_name'];
$target = $details['name'];
move_uploaded_file($temp, $ROOT.'/'.$target);
}
См. также http://www.php.net/manual/en/function.move-uploaded-file.php для больше примеров.
Рассмотрим простую сущность, подобную Room
, которая имеет отношение @ManyToOne
к House
.
@Entity
class Room(
@ManyToOne(optional = true)
val house: House
) {
@Id
@GeneratedValue(strategy = GenerationType.AUTO)
val id: Long = 0
}
JPA создаст таблицу комнат со столбцом
`house_id` bigint(20) DEFAULT NULL
Если вы укажете @ManyToOne(optional = false)
, столбец будет выглядеть так:
`house_id` bigint(20) NOT NULL
[ 1122] Указывая необязательный параметр, вы сообщаете JPA, как должна быть сгенерирована схема, может ли столбец быть NULL
или нет.
Во время выполнения попытка загрузить Room
без House
вызовет исключение, если свойство дома не обнуляется (House
вместо House?
), даже если значение optional
равно true
.
То же самое относится к @JoinColumn
.
«Необязательный» ли параметр @ ManyToOne автоматически устанавливается с помощью обнуляемости Котлина?
blockquote>Нет, это не так. Он не зависит от этого и по умолчанию установлен на
true
.Заключение: Для того, чтобы ваша схема отражала ваши сущности, было бы неплохо использовать
optional = true
, если свойство дома будет обнуляемым, иoptional = false
, если свойство дома не обнуляемое .