如何为表中的条目添加两次命名约定?

发布于 2024-11-18 19:46:03 字数 423 浏览 2 评论 0原文

我有一个名为“上传”的表。

我必须使用“type”在此表中输入两次 即用于 YouTube 视频链接和表格上传中的图像

所以我编写了这样的代码

//for video link echo $form->input('Project.Upload.Name', array('type'=>'file','label' => false));

和 //对于图像 echo $form->input('Project.Upload.Name', array('type'=>'file','label' => false));

我如何区分这些两个字段? 有没有什么命名约定的方法,以便我可以分离出链接和图像的字段。

I've table called Uploads.

I've to make entries in this tables twice with 'type'
i.e. for youtube video link and image in table uploads

So I've written code like this

//for video link
echo $form->input('Project.Upload.Name', array('type'=>'file','label' => false));

and
//for image
echo $form->input('Project.Upload.Name', array('type'=>'file','label' => false));

How can I differentiate these two fields?
Is there any way so of naming convention so that I can separate out fields for links and images.

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(1

享受孤独 2024-11-25 19:46:03

如果您想要两个上传字段,则必须像这样命名它们:

echo $form->input('Project.Upload.0.Name', array('type'=>'file','label' => false));
echo $form->input('Project.Upload.1.Name', array('type'=>'file','label' => false));

这将在 $this->data 中创建一个可供使用的数组。看看如何保存相关模型数据< /a> 在食谱中了解更多、更深入的信息。

编辑

如果您需要跟踪上传的类型,则必须按如下方式添加:

echo $form->input('Project.Upload.0.Name', array('type'=>'file','label' => false));
echo $form->input('Project.Upload.0.Type', array('type'=>'hidden','value' => 'image'));
echo $form->input('Project.Upload.1.Name', array('type'=>'file','label' => false));
echo $form->input('Project.Upload.1.Type', array('type'=>'hidden','label' => 'video'));

您在此处所做的是将您的第一次上传与具有隐藏值的第一个类型字段相关联'图像'。因此,第一个条目将存储在您的数据库中,如下所示(如 Cake-Array):

当然,必须在将图像和视频保存到数据库之前完成对图像和视频的处理。

array(
    [Upload] => array(
        [0] => array(
            [id] => 1,
            [name] => 'test.jpg',
            [type] => 'image'
        ),
        [1] => array(
            [id] => 1,
            [name] => 'test.avi',
            [type] => 'video'
        )
    )
)

If you want two Upload-fields, you have to name them like this:

echo $form->input('Project.Upload.0.Name', array('type'=>'file','label' => false));
echo $form->input('Project.Upload.1.Name', array('type'=>'file','label' => false));

This will create an array in $this->data ready for use. Have a look on how to save related model data in the Cookbook for more and deeper information.

Edit

If you need to keep track of what type your upload is you have to add it like this:

echo $form->input('Project.Upload.0.Name', array('type'=>'file','label' => false));
echo $form->input('Project.Upload.0.Type', array('type'=>'hidden','value' => 'image'));
echo $form->input('Project.Upload.1.Name', array('type'=>'file','label' => false));
echo $form->input('Project.Upload.1.Type', array('type'=>'hidden','label' => 'video'));

What you do here is that you associate your first upload with the first type-field which has the hidden value 'image'. So the first entry would be stored in your database something like this (as Cake-Array):

The processing of the image and the video must of course be done before saving it so the database.

array(
    [Upload] => array(
        [0] => array(
            [id] => 1,
            [name] => 'test.jpg',
            [type] => 'image'
        ),
        [1] => array(
            [id] => 1,
            [name] => 'test.avi',
            [type] => 'video'
        )
    )
)
~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文