我能够在视图中成功加载模型,但视图无法识别模型内的方法。任何人都可以指出我哪里出错了。我正在使用PIP MVC框架http://gilbitron.github.io/PIP/
P.S。我是MVC的新手。
Model.php
class Model {
private $connection;
public function __construct()
{
global $config;
$this->connection = mysql_pconnect($config['db_host'], $config['db_username'], $config['db_password']) or die('MySQL Error: '. mysql_error());
mysql_select_db($config['db_name'], $this->connection);
}
public function execute($qry)
{
$exec = mysql_query($qry) or die('MySQL Error: '. mysql_error());
return $exec;
}
我的模特
class Listing_model extends Model {
public function createNewJob($by) {
$result = $this->execute('INSERT INTO job_listings (by_user_id) VALUES ('.$by.')');
return $result;
}
}
控制器:
function create() {
$template = $this->loadView('post_jobs_view');
$model = $this->loadModel('Listing_model');
$template->render();
}
查看:
if (isset($_POST['savejob'])) {
$by_user_id = 1111;
Listing_model::createNewJob($by_user_id);
}
答案 0 :(得分:2)
首先,你还没有创建静态函数,所以你可能不应该静态调用它。看起来像PIP将模型实例加载到变量中。
$model = $this->loadModel('Listing_model');
$model->createNewJob($by_user_id);
这让我想到第二点,这段代码似乎比视图更适合控制器。您可能想要了解如何在MVC中处理逻辑以及在视图中适当的代码。