質問編集履歴
3
Controller\.phpの追加
title
CHANGED
File without changes
|
body
CHANGED
@@ -15,6 +15,23 @@
|
|
15
15
|
しかし、実際に作成されたエンティティのphoto,photo_dirフィールドはnullのままで、ルートを設定したディレクトリにもファイルがアップロードされていません。
|
16
16
|
|
17
17
|
【追記】
|
18
|
+
StoreArticlesController.php
|
19
|
+
```
|
20
|
+
public function add()
|
21
|
+
{
|
22
|
+
$storeArticle = $this->StoreArticles->newEntity();
|
23
|
+
if ($this->request->is('post')) {
|
24
|
+
$storeArticle = $this->StoreArticles->patchEntity($storeArticle, $this->request->data);
|
25
|
+
if ($this->StoreArticles->save($storeArticle)) {
|
26
|
+
$this->Flash->success(__($this->request->data));
|
27
|
+
return $this->redirect(['action' => 'index']);
|
28
|
+
}
|
29
|
+
$this->Flash->error(__('The store article could not be saved. Please, try again.'));
|
30
|
+
}
|
31
|
+
$this->set(compact('storeArticle'));
|
32
|
+
$this->set('_serialize', ['storeArticle']);
|
33
|
+
}
|
34
|
+
```
|
18
35
|
StoreArticlesTable.php
|
19
36
|
```
|
20
37
|
public function initialize(array $config)
|
2
ミス修正
title
CHANGED
File without changes
|
body
CHANGED
@@ -64,7 +64,6 @@
|
|
64
64
|
body TEXT NOT NULL
|
65
65
|
);
|
66
66
|
```
|
67
|
-
```
|
68
67
|
|
69
68
|
期待する保存先ディレクトリ
|
70
69
|
webroot/files/StoreArticle/photo/以下
|
1
関連するソースコードの追加、心当たりの追加
title
CHANGED
File without changes
|
body
CHANGED
@@ -14,9 +14,58 @@
|
|
14
14
|
|
15
15
|
しかし、実際に作成されたエンティティのphoto,photo_dirフィールドはnullのままで、ルートを設定したディレクトリにもファイルがアップロードされていません。
|
16
16
|
|
17
|
-
|
17
|
+
【追記】
|
18
18
|
StoreArticlesTable.php
|
19
|
+
```
|
20
|
+
public function initialize(array $config)
|
21
|
+
{
|
22
|
+
parent::initialize($config);
|
19
23
|
|
24
|
+
$this->table('store_articles');
|
25
|
+
$this->displayField('title');
|
26
|
+
$this->primaryKey('id');
|
27
|
+
$this->addBehavior('Josegonzalez/Upload.Upload', [
|
28
|
+
'photo' => [
|
29
|
+
'path' => WWW_ROOT.'files{DS}{model}{DS}{field}{DS}',
|
30
|
+
'fields' => [
|
31
|
+
'dir' => 'photo_dir'
|
32
|
+
]
|
33
|
+
]
|
34
|
+
]);
|
35
|
+
}
|
36
|
+
```
|
37
|
+
add.ctp
|
38
|
+
```
|
39
|
+
<?= $this->Form->create($storeArticle) ?>
|
40
|
+
<fieldset>
|
41
|
+
<legend><?= __('新規投稿') ?></legend>
|
42
|
+
<?php
|
43
|
+
echo $this->Form->input('start', ['empty' => true, 'label' => '掲載開始時間']);
|
44
|
+
echo $this->Form->input('title', ['label' => 'タイトル']);
|
45
|
+
echo $this->Form->input('body', ['label' => '本文']);
|
46
|
+
echo $this->Form->input('photo', ['type' => 'file', 'label' => '画像']);
|
47
|
+
echo $this->Form->input('photo_dir', ['type' => 'hidden']);
|
48
|
+
?>
|
49
|
+
<script>
|
50
|
+
CKEDITOR.replace( 'body' );
|
51
|
+
</script>
|
52
|
+
</fieldset>
|
53
|
+
<?= $this->Form->button(__('投稿')) ?>
|
54
|
+
<?= $this->Form->end() ?>
|
55
|
+
```
|
56
|
+
DBテーブル
|
57
|
+
```
|
58
|
+
CREATE TABLE store_articles (
|
59
|
+
id INT UNSIGNED AUTO_INCREMENT PRIMARY KEY,
|
60
|
+
start DATETIME,
|
61
|
+
title VARCHAR(64) NOT NULL,
|
62
|
+
photo varchar(255),
|
63
|
+
photo_dir varchar(255),
|
64
|
+
body TEXT NOT NULL
|
65
|
+
);
|
66
|
+
```
|
67
|
+
```
|
68
|
+
|
20
69
|
期待する保存先ディレクトリ
|
21
70
|
webroot/files/StoreArticle/photo/以下
|
22
71
|
|
@@ -26,6 +75,11 @@
|
|
26
75
|
|
27
76
|
必要な追加情報あればよろしくお願いいたします。
|
28
77
|
|
78
|
+
【追記】
|
79
|
+
保存されない原因のこころあたりとして、もうひとつ、store_articlesのテーブル構造をmysqlのコマンドライン上でALTER TABLEを用いてphotoとphoto_dirのフィールドを追加しました。
|
80
|
+
これに伴ってdebug_kitのchacheの部分からキャッシュを削除しましたが、テーブル構造の変更がUpload Plugin 3.0の認識されていない可能性があるのかも?と思います。そのようなケースはありますか?
|
81
|
+
|
82
|
+
|
29
83
|
###補足情報(言語/FW/ツール等のバージョンなど)
|
30
84
|
Upload Plugin 3.0はPackagistの最新版
|
31
85
|
composer require josegonzalez/cakephp-upload
|