我的应用程序具有销售列表功能,允许用户为他们想销售的产品添加1张或更多照片。添加1到很多文件上传到CRUD
我试图使用ATK的上传/ filestore_image与加入的创建表的关系 - 我的模型:
class Model_Listing extends Model_Table {
public $entity_code='listing';
function init(){
parent::init();
$this->addField('name');
$this->addField('body')->type('text');
$this->addField('status');
$this->addField('showStatus')->calculated(true);
}
function calculate_showStatus(){
return ($this->status == 1) ? "Sold" : "For Sale" ;
}
}
class Model_listingimages extends Model_Table {
public $entity_code='listing_images';
function init(){
parent::init();
$this->addField('listing_id')->refModel('Model_Listing');
$this->addField('filestore_image_id')->refModel('Model_Filestore_Image');
}
}
在我的网页管理器类我已经添加了文件上传给CRUD:
class page_manager extends Page {
function init(){
parent::init();
$tabs=$this->add('Tabs');
$s = $tabs->addTab('Sales')->add('CRUD');
$s->setModel('Listing',array('name','body','status'),array('name','status'));
if ($s->form) {
$f = $s->form;
$f->addField('upload','Add Photos')->setModel('Filestore_Image');
$f->add('FileGrid')->setModel('Filestore_Image');
}
}
}
我的问题:
我得到一个“无法包含FileGrid.php”的错误 - 我希望用户能够看到他们上传的图像,并希望这是最好的方式 - 通过添加文件网格到表单的底部。 - 编辑 - 忽略这个问题,我根据下面例子中的代码创建了一个FileGrid类,它解决了这个问题。
如何制作CRUD表单之间的关联,以便提交将保存上传的文件并在连接表中创建条目?
我已经安装ATK4的最新版本,增加了4个文件存储表到数据库和文档http://codepad.agiletoolkit.org/image
中引用以下页面TIA PG
顺便说一句,你知道单场允许你上传多张照片吗? https://github.com/atk4/atk4/blob/master/lib/Form/Field/upload.php您还需要将“image”字段定义为varchar,但除非您在该字段上放置索引,否则它应该是好。我会考虑你的其他问题,稍后再回复。 – romaninsh
是 - 用户可以根据需要添加尽可能多的图像(尽管我可能会在以后添加限制)。 filestore_image sql创建了4个表 - filestore_image.name被定义为varchar。我希望能够使用我的listing_images连接表/模型在清单表和filestore_image表之间建立关系 - 除非您认为有更好的方法来实现此目的。 –
我不必在连接表中使用filestore_image - 我很高兴能够将图片上传到专用的表格中 - 因为列表中的图片会有1到多个图片,但是会看到大多数重的图片提升已经在filestore_image中被编码了,似乎试图实现和使用它似乎更容易。 –