Cakephp 3.x Table "Admin\Model\Table\ImagesTable" 与 "Url" 没有关联

Cakephp 3.x Table "Admin\Model\Table\ImagesTable" is not associated with "Url"

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

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'
        ]);

我收到这个错误。 'Table "Admin\Model\Table\ImagesTable" is not associated with "Url"'

我要制作相册。我想添加专辑封面的图片。你能帮助我吗?您能否建议错误解决方案或其他解决方案?

您在 table class 函数内部调用 $this->Url->build(...),但 Url 是一个助手,table 无法使用.尝试改用 Router::url(...)。 Url build 方法只是一个包装器!