是否可以从视图中调用位于控制器中的函数?
作为一个例子,这就是我在我的控制器中所拥有的
function checkKeyExists($userid, $key){
}
Run Code Online (Sandbox Code Playgroud)
然后在我的视图中我有以下内容
if(checkKeyExists($row->id, $role->key)){
}
Run Code Online (Sandbox Code Playgroud)
但是当我运行它时,它表示没有定义checkKeyExists.
如果有人能告诉我如何做到这一点,那就太好了.
小智 13
视图并不意味着调用控制器操作.反转逻辑,在控制器中调用该函数并将其设置为发送到视图的变量.然后,您可以让if语句在视图模板中检查该变量.
如果这对您不起作用,也许您需要帮助:https://www.codeigniter.com/user_guide/general/helpers.html
就像威多克斯说的那样,我认为助手是最好的出路.像这样的东西:
<?php // test_helper.php
if(!defined('BASEPATH')) exit('No direct script access allowed');
function checkKeyExists($userid, $key, $table)
{
$CI =& get_instance();
$query = $CI->db->query("SELECT $keyFROM $table WHERE id = $userid LIMIT 1");
if($query->num_rows() > 0)
{
return true;
}else
{
return false;
}
}
?>
Run Code Online (Sandbox Code Playgroud)
然后你可以自由地使用你的视图,只需加载你的各自的控制器,如:$ this-> load-> helper('test');.
| 归档时间: |
|
| 查看次数: |
41281 次 |
| 最近记录: |