0

我有一个库剥离其数据的网页以供查看,但无法将变量返回到我的模型/插入。到目前为止,我的

模型...

...
function update_related($related_array)
{
    $this->db->set($related_array);
    $this->db->insert('related_products');
}

在我的

控制器...

...
public function index()
{
    $data = array();

    if(isset($_GET['url']))
    {
        $data['url'] = trim($_GET['url']);
        if(!empty( $data['url']))
        {
            $this->load->library('scraping');
            $data['page'] = $this->scraping->curlFunc($data['url']);
        }else{
            $data['notice'] = 'URL is empty!!!';
        }
    }

    $this->load->view('view_x', $data);

    $this->load->model('Model_x','', TRUE); 
    $related_array = array(
        'x_id' => $var0,
        'freq_together' => $var1,
        'also_bought' => $var2,
        'created_at' => $var3
    );
    $this->Model_x->update_related($related_array);

}

图书馆(比这长得多,但你明白了)......

public function curlFunc($url)
{
...
$shdom = $shdom.'<p>Bought Together: ';
    foreach($shdom2->find('.class td a') as $e) {
        if (preg_match('/F00([^\/]*)/i', $e, $regs))
        {
            $r = $regs[0];
            $shdom = $shdom.$r.',';
            $Var1 = $r; //take note, this is a variable I need for Model insert
...
}
    return $shdom;
} 

我试图从这里返回数据,而不是多次重新运行这个抓取过程。更重要的是,我只想要一种干净、快速的方式将我的数据放入数据库并保持视图不变。Codeigniter/MVC 相当新(实际上选择这个项目是为了提高 MVC 知识),因此欢迎对我的流程进行任何更改。

看法...

<form action="" method="get">
    <span>URL: </span>&nbsp;<input type="text" name="url" id="url"/>&nbsp;&nbsp;&nbsp;<input type="submit" value="GO!">
</form><br />
<?php
if (isset($page)){
    echo'<hr />';
    echo $page;
}
if (isset($notice)){

    echo "<h3>$notice</h3>";
}
?> 
4

1 回答 1

1

我想我知道您在这里缺少什么,在库级别 Codeigniter 实例中的 codeigniter 中不可用,因此您需要加载它

通过将其添加到您的库结构或任何适合您需要的内容中

$this->ci =& get_instance();

所以你可以访问 codeigniter 核心类,比如load

您现在可以通过以下方式轻松加载模型 $this->ci->load->model('model_name');

参考创建库

于 2013-03-13T16:47:56.993 回答