我想在Codeigniter中使用Active Records生成以下SQL代码:
WHERE name != 'Joe' AND (age < 69 OR id > 50)
Run Code Online (Sandbox Code Playgroud)
做到以下似乎是我能得到的,我无法弄清楚如何将它们分组
$this->db->select()->from('users')->where('name !=', 'Joe')->where('age <', 69)->or_where('id <', $id);
Run Code Online (Sandbox Code Playgroud)
有任何想法吗?我的SQL查询太复杂了,所以我不想重写传统SQL中的所有内容.
UPDATE
我的SQL代码是动态生成的,具体取决于传递给模型方法的某些参数的值.不能使用括号的问题会导致问题,因为运算符优先级是AND先评估的OR.
*这是我的活动记录代码的一大块,其中有一些其他代码在它之前和之后:
... some $this->db->where() ...
... some $this->db->where() ...
if($price_range) {
$price_array = explode('.', $price_range);
for($i = 0; $i < count($price_array); $i++) {
if($i == 0) {
$this->db->where('places.price_range', $price_array[$i]);
} else {
$this->db->or_where('places.price_range', $price_array[$i]);
}
}
}
... some $this->db->where() ...
... some $this->db->where() ...
Run Code Online (Sandbox Code Playgroud)
问题来了,因为我正在使用$this->db->or_where()它引入了一个OR子句,它将运算符优先级抛到混乱状态而不能( …
我正在一个有几个控制器的站点上工作,并且已经将我的服务器配置为重定向请求,http://www.host.com/controller/function/params以便http://www.host.com/index.php/controller/function/params在apache配置中使用一些简单的正则表达式匹配.现在,我试图让我的一个控制器重定向到另一个,但没有添加index.php到URL,这是该redirect()功能的作用.在codeigniter中有一个简单的方法吗?先谢谢!
我想调用我写的另一个库里面的库中的函数.是否可以在codeigniter中执行此操作?如果是这样,任何人都可以解释如何做到这一点?
因为我的Web应用程序需要加载的数据大小不小,所以它会变得非常缓慢,所以我决定添加一些jQuery ajax函数来根据请求加载某些数据然后将其保存在缓存中.
我想知道的是如何限制来自localhost /同一服务器/同一个ip的任何GET或POST请求,以便我可以避免从外部到我的应用程序的任何调用?
这意味着我的PHP函数返回数据,只有在从localhost请求时才返回数据.
我的Web应用程序在CodeIgniter的框架上运行,我的Web服务器的配置是在ubuntu上运行的LAMP.
有任何想法吗?
我正在使用Netbeans IDE进行Php开发.它为我提供了Kohana框架的代码完成.有没有办法让Netbeans中的CodeIgniter完成代码?
在codeigniter安装上,我试图使用内置$this->input->post('some_data')函数,但是$this->input->post()是一个空数组.
A print_r($_POST)完全正确地给出了所有变量?
根据codeigniter文档,输入类"由系统自动初始化,因此不需要手动执行",让我想知道我还有什么意思要做.
关于我应该如何努力使这个工作的任何想法?
谢谢!
大家好我有一个在codeigniter开发的网站,我想存储到一个名为common.php的文件中,我在很多页面中使用了一些javascript/PHP函数.我试过这种模式:
require(base_url().'application/libraries/common.php'); //I have tried also include
Run Code Online (Sandbox Code Playgroud)
这回复了我这个错误:
A PHP Error was encountered
Severity: Warning
Message: require() [function.require]: http:// wrapper is disabled in the server configuration by allow_url_include=0
Run Code Online (Sandbox Code Playgroud)
我要去我的php.ini然后打开allow_url_include,重新启动apache,当我尝试加载页面时返回我现在这个错误:
A PHP Error was encountered
Severity: Warning
Message: require() [function.require]: http:// wrapper is disabled in the server configuration by allow_url_include=0
Filename: backend/hotel_view.php
Line Number: 6
A PHP Error was encountered
Severity: Warning
Message: require(http://demo.webanddesign.it/public/klikkahotel.com/application/libraries/common.php) [function.require]: failed to open stream: no suitable wrapper could be found
Filename: backend/hotel_view.php
Line Number: 6
Fatal …Run Code Online (Sandbox Code Playgroud) 我下载项目我的服务器,然后我通常更改配置文件和数据库,最后我删除了主文件夹中的htaccess文件.现在我可以转到我的主页,但我无法访问我的网站中的其他链接,我收到此错误.
**Not Found
The requested URL /utripes/auther/signup signup was not found on this server.**
Run Code Online (Sandbox Code Playgroud)
我该如何解决这个错误.请快速帮助.比你.
我希望用户在未设置会话时不访问控制器的某些方法.为此,我可以在所有方法中检查会话,如果设置了会话,那么只需转到其他地方重定向到特定页面.由于我有很多方法,如果没有设置会话,我不希望用户访问.它的批量通过所有方法和检查会话.有没有任何快捷方式来获得此功能.
我试过检查会话是控制器的构造函数方法,但它适用于所有方法.但我只想要特定的方法来阻止会话未设置.怎么做.
例:
class dashboard extends CI_Controller {
function __construct() {
parent::__construct();
$this->load->library('session');
$this->load->model('dbmodel');
$this->load->helper('url','form');
//verified user check
if($this->session->userdata("unverified") != FALSE) {
redirect("verify_user");
}
}
//verified user check
}
Run Code Online (Sandbox Code Playgroud)
上面的代码,当用户转到仪表板控制器时,一旦找到"未验证"会话,就会重定向到verify_user控制器.但是我希望能够访问仪表板控制器的某些方法.不是所有方法.每当发现会话时此代码重定向,并且不允许访问仪表板控制器的任何方法.
我在我的模型中编写了一个函数,用于在我的数据库中插入一个订单.我正在使用事务来确保所有提交,否则它将被回滚.
我的问题是笨没有显示任何数据库错误,但它是回滚事务,但然后返回TRUE了trans_status.但是,只有在订单有折扣时才会发生这种情况.如果订单没有折扣,一切都会提交并正常工作.
我目前正在使用CodeIgniter 3.19,PHP(7.2),mySQL(5.7)和Apache 2.4.(在Ubuntu 18.04上工作)
tbl_ordersorder_id并浏览每个订单产品(附件order_id)并插入产品tbl_order_products,order_product_id并将其附加到一组用户出勤选项并插入其中tbl_order_attendanceorder_id)并将其插入tbl_transactionsdiscount_redeem_count(可兑换折扣代码的数量)减少1.
[功能]:
public function add_order(Order $order, array $order_products, Transaction $transaction = NULL){
$this->db->trans_start();
$order->create_order_code();
$order_array = $order->create_order_array();
$this->db->insert('tbl_orders', $order_array);
$order_id = $this->db->insert_id();
$new_order = new Order($order_id);
foreach($order_products as $key=>$value){
$order_products[$key]->set_order($new_order);
$order_product_array = $order_products[$key]->create_order_product_array();
$this->db->insert('tbl_order_products', $order_product_array);
$order_product_id = $this->db->insert_id();
$product = $order_products[$key]->get_product();
switch ($product->get_product_class()){
case 'Iteration':
$this->db->select('module_id, …Run Code Online (Sandbox Code Playgroud) codeigniter ×10
php ×7
mysql ×2
post ×2
.htaccess ×1
activerecord ×1
ajax ×1
apache ×1
get ×1
netbeans-7 ×1
redirect ×1
session ×1