Tôi đang ở bên trong "PostsTable.php" Tôi đang cố gắng lấy dữ liệu biểu mẫu để xử lý tệp hình ảnh.
Trong CakePHP 2, tôi đã sử dụng để làm:
public function beforeSave($options = array())
{
if(!empty($this->data['Post']['picture']['name'])...
Ai đó có thể giải thích điều này trong Cake 3:
beforeSave
Cake\ORM\Table::beforeSave(Event $event, Entity $entity, ArrayObject $options)
?
THÊM
tôi cố gắng đoạn mã này để xem nếu tôi có thể tiết kiệm lĩnh vực này trên cơ sở dữ liệu cũng giống như một bài kiểm tra nhưng có vẻ như beforeSave đang được bỏ qua:
public function beforeSave($options)
{
if(!empty($entity->pic1['name']))
{
$entity->pic1 = 'jus a test';
}
Cảm ơn
Tôi đã thay đổi nó nhưng dường như beforeSave bị bỏ qua. Tôi đã thử điều này tôi đã thêm vào câu hỏi chỉ là một bài kiểm tra nhưng tên không được đặt. –
@burzump vừa xảy ra ở đây là: Tôi đã có những gì tôi đã cố gắng để làm nhưng tôi đã sử dụng beforeMarshal thay vì beforeSave. Có vấn đề gì không? Tôi chỉ muốn lưu đường dẫn trong cơ sở dữ liệu và tệp trong một thư mục. Nhưng beforeSave dường như bị bỏ qua ... –
Đọc hướng dẫn;) 'Bạn có thể sử dụng sự kiện Model.beforeMarshal để sửa đổi dữ liệu yêu cầu trước khi nó được chuyển thành thực thể.' Tôi không biết tại sao nó không hoạt động cho bạn. – burzum