Cakephp 3.x表" Admin \ Model \ Table \ ImagesTable"与" Url"无关。

时间:2015-07-01 07:44:13

标签: cakephp-3.0

我想在图像表文件中记录。

namespace Admin\Model\Table;

use Cake\ORM\Table;
use Cake\Validation\Validator;
use Cake\ORM\Query;
use Cake\ORM\TableRegistry;

class ImagesTable extends Table
{
    public function initialize(array $config) {
        $this->table('images');
    $this->hasMany('ImageAlbums', [
        'className' => 'Admin.ImageAlbums',
        'foreignKey' => 'conver_image_id'
    ]);
    }

  public function saveImage($imageDescription, $imageName, $albumId){
    $imageEntity = $this->newEntity();
    $imageData = [  'imageDescription' => $imageDescription,
                    'imageOriginalUrl' => $this->Url->build('/', true).'original-img/'.$imageName,
                    'imageSmallUrl' => $this->Url->build('/', true).'small-img/'.$imageName,
                    'imageMediumUrl' => $this->Url->build('/', true).'medium-img/'.$imageName,
                    'imageBigUrl' => $this->Url->build('/', true).'big-img/'.$imageName,
                    'album_id' => $albumId];
    $imageEntity = $this->patchEntity($imageEntity, $imageData);
    return $this->save($imageEntity);
  }
}

我在图像相册控制器中调用此方法(' saveImage')。

$image = $this->ImageAlbums->Images->saveImage("description.", 'natural.jpg', $this->enumArray['albums']['albumConverImages']);

关联相册图表此代码。

$this->belongsTo('Images', [
            'className' => 'Admin.Images',
            'foreignKey' => 'conver_image_id'
        ]);

我收到此错误。 '表" Admin \ Model \ Table \ ImagesTable"与" Url"'

无关

我想制作图像相册。我想添加一张专辑封面的图片。你能帮助我吗?你能提出错误解决方案或不同解决方案吗?

1 个答案:

答案 0 :(得分:1)

您正在调用表类函数中的$this->Url->build(...),但Url是一个帮助程序,它不适用于表。请尝试使用Router::url(...)。无论如何,Url构建方法只是一个包装器!