将数据发送到2个MySQL表-FuelPHP/PHP
我正在适应(FuelPHP应用程序),到目前为止,它运行得非常好 我已经对它进行了调整(在一些帮助下),以允许将多个图像上载到服务器。这也很有效 然而,我想如果我有2张表:1)文章和2)文章图片,那就更有意义了。我会使用外键将图像与文章关联。因此,在发布文章时,它会将文章数据添加到“Articles”表中,并将每个图像移动到“ArticleImages”中的新行 因此,我的'ArticleImages'表最终可能是: ID |图像URL |文章ID 我的“articles.php”控制器的一部分:将数据发送到2个MySQL表-FuelPHP/PHP,php,mysql,sql,fuelphp,Php,Mysql,Sql,Fuelphp,我正在适应(FuelPHP应用程序),到目前为止,它运行得非常好 我已经对它进行了调整(在一些帮助下),以允许将多个图像上载到服务器。这也很有效 然而,我想如果我有2张表:1)文章和2)文章图片,那就更有意义了。我会使用外键将图像与文章关联。因此,在发布文章时,它会将文章数据添加到“Articles”表中,并将每个图像移动到“ArticleImages”中的新行 因此,我的'ArticleImages'表最终可能是: ID |图像URL |文章ID 我的“articles.php”控制器的一部分
<?php
public function action_add()
{
$val = Model_Article::validate('add_article'); //<-- maybe its just me but i never saw any similar to this in fuelphp sorry about this if im wrong
// if your form validation is okay than continue with everyhing else
if ($val->run())
{
$article = Model_Article::forge();
// Custom configuration for this upload
$config = array(
'path' => DOCROOT.DS.'images',
'randomize' => true,
'ext_whitelist' => array('img', 'jpg', 'jpeg', 'gif', 'png'),
);
Upload::process($config);
// if a valid file is passed than the function will save, or if its not empty
if (Upload::is_valid())
{
// save them according to the config
Upload::save();
//if you want to save to tha database lets grab the file name
$value = Upload::get_files();
foreach($value as $files) {
print_r($files);
}
$article->filename = $value[0]['saved_as'];
}
$status = (Input::post('save_draft') ? 0 : 1);
if ( ! $val->input('category_id'))
{
$category_id = null;
}
else
{
$category_id = $val->validated('category_id');
}
$article->user_id = $this->user_id;
$article->category_id = $category_id;
$article->title = $val->validated('title');
$article->body = $val->validated('body');
$article->published = $status;
if ($article->save())
{
Session::set_flash('success', 'Article successfully added.');
}
else
{
Session::set_flash('error', 'Something went wrong, '.
'please try again!');
}
Response::redirect('articles/add');
}
$this->template->title = 'Add Article';
$this->template->content = View::forge('articles/add')
->set('categories', Model_Category::find('all'), false)
->set('val', Validation::instance('add_article'), false);
}
/* End of file articles.php */
您正在尝试在文章和文章图像之间建立关系。ArticleImage属于一篇文章,而一篇文章有许多ArticleImage。FuelPHP为您想要实现的目标内置了功能。请查看,尤其是属于并且有许多关系。您正在尝试在文章和文章图像之间建立关系。ArticleImage属于一篇文章,而一篇文章有许多ArticleImage。FuelPHP为您想要实现的目标内置了功能。请看一下,尤其是属于并且有很多关系。因此,当我为您编写代码时,您返回了几天,您只要求输入一个文件
无意冒犯,但你做的都是错的
foreach($value as $files) {
print_r($files);
}
$article->filename = $value[0]['saved_as'];
应该是
foreach($value as $files) {
$articleimg = Model_Articleimages::forge();
$articleimg->image_row_name = $files['saved_as']
}
让你明白
您在这里所做的,$value=Upload::get_files()代码>是,这将获得所有元素,但由于需要循环所有元素,因此不需要它
第二
这个$value[0]['saved_'as']
只获取第一个图像名称,只是第一个图像名称,由于您现在处于循环中,您需要引用$files
变量,正如我在上面的示例中所示,只是一个示例因此,当我为您编写代码的时候,您只要求了几天,一个文件输入
无意冒犯,但你做的都是错的
foreach($value as $files) {
print_r($files);
}
$article->filename = $value[0]['saved_as'];
应该是
foreach($value as $files) {
$articleimg = Model_Articleimages::forge();
$articleimg->image_row_name = $files['saved_as']
}
让你明白
您在这里所做的,$value=Upload::get_files()代码>是,这将获得所有元素,但由于需要循环所有元素,因此不需要它
第二
此$value[0]['saved_as']
仅获取第一个图像名称,仅获取第一个图像名称,由于您现在处于循环中,您需要引用$files
变量,如我在上面的示例中所示,只是一个示例