php - 将数组从 Controller 传递到模型 - codeigniter

标签 php mysql codeigniter

知道为什么这行不通吗?我正在获取用户设置的标签,并希望获取具有相同标签的其他用户的 ID。

Controller :

$this->load->model('tag_model');
            $data['usr_tags'] = $this->tag_model->get_home_tags($user_id);
            $tags = $this->tag_model->get_home_tags($user_id);
            $tag_array = $tags;
            $data['tag_users'] = $this->tag_model->get_tag_users($tag_array);

型号:

function get_tag_users($tag_array)
    {
            //$tag = array('item1','item2','item3');
            $tag = $tag_array;
            $query_str = 'SELECT DISTINCT user_id FROM tags WHERE tag IN ("'. implode('","', $tag) .'")';

            $query = $this->db->query($query_str);

            if($query->num_rows() > 0) {
                    foreach($query->result_array() as $tag_users) {
                            $data[] = $tag_users;
                    }
                    return $data;
            }else{
                    return false;
            }
    }

错误:

A PHP Error was encountered
Severity: Notice
Message: Array to string conversion
Filename: models/tag_model.php
Line Number: 20

最佳答案

Controller

$this->load->model('tag_model');
$data['usr_tags'] = $this->tag_model->get_home_tags($user_id);
$data['tag_users'] = $this->tag_model->get_tag_users($data['usr_tags']);

型号

function get_tag_users($tag_array)
{
    $tags=array();
    foreach($tag_array as $tag)
    {
        $tags[]= $tag['tag'];
    }
    $query_str = 'SELECT DISTINCT user_id FROM tags WHERE tag IN ('.implode(",", $tags).')';
    $query = $this->db->query($query_str);
    if($query->num_rows() > 0)
    {
        return $query->results();
    }
    else
    {
        return false;
    }
}

注意:您的 $data['tag_users'] 将包含另一个用户 ID 数组。

关于php - 将数组从 Controller 传递到模型 - codeigniter,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/10076603/

相关文章:

php - 使用 PHP 查找当前目录级别

php - password_verify() 函数返回空变量

mysql - 本周观看次数最多的视频

Jquery 衬衫设计师 - 如何?

javascript - 单击 codeigniter 中的按钮时获取另一个页面中的 View 表值

javascript - 使用 jquery.html() 将 html 元素保存到数据库

javascript - 获取网站的时间来设置时间范围

mysql - mysql执行查询的顺序

php - 在多对多表上使用左连接时,Symfony 3 返回错误的查询结果

php - 更改查询以不重复数据