Active Record是一种将域逻辑与存储抽象结合在一起的模式。对于有关Rails ORM框架的问题,请使用此标记来解决有关模式的问题,[rails-activerecord]。
来自接收用户输入参数的条件调用模型方法的 CodeIgniter 查询中出现未知列错误
在视图文件(view_searchlog.php)中: 在查看文件(view_searchlog.php): <div class="form-group"> <form class="form-inline" action="<?php echo base_url(); ?>index.php/search/accsearch" method="post"> <select class="form-control" name="field"> <option selected="selected" disabled="disabled" value="">Filter By</option> <option value="subjName">Subject</option> <option value="homeaddress">Location</option> <option value="lname">Last Name</option> </select> <input class="form-control" type="text" name="search" value="" placeholder="Find.."> <input class="btn btn-default" type="submit" name="filter" value="Search"> </form> </div> </div> </div> <div class="col-xs-12 col-sm-6"> <h2 class="sub-header">Search Results</h2> </div> <div class="row"> <div class="col-sm-12 col-md-8"><hr/> <?php echo $this->session->flashdata('nores'); ?> <?php foreach ($users as $user): ?> <div class="thumbnail"> <img src="..." alt="..."> <div class="caption"> <h3><?=$user->name;?></h3> <p><?=$user->homeaddress;?></p> <p><?=$user->mobileNum;?></p> <p><a href="#" class="btn btn-primary" role="button">Request</a> <a href="#" class="btn btn-default" role="button">View Profile</a></p> </div> </div> <?php endforeach; ?> </div> </div> 在db中,我有表:用户、帐户和主题,其中: 科目 subjID | subjName | accID ------ | -------- | ----- 1 | Math | 1 账号 accID | subjID | userID ------ | -------- | ----- 1 | 1 | 1 用户 userID | userName | accID ------ | -------- | ----- 1 | foo | 1 我有用于搜索的 ff 代码控制器: if (isset($filter) && !empty($search)) { $data['users'] = $this->model_search->searchTutor($field, $search); } elseif (($filter == 'subjName') && !empty($search)) { $data['users'] = $this->model_search->searchBySubj($field, $search); } elseif (isset($filter) && empty($search)) { $data['users'] = $this->model_search->getlist($field); } elseif (isset($filter) && ($search == 0)) { $this->session->set_flashdata('nores','<div class="alert text-center">No result matched your search.</div>'); redirect('search/index'); } 然后我尝试搜索不在 db 中的主题名称 所以应该进入第二个 elseif ->searchBySubj(); 函数 搜索型号: public function searchTutor($field, $search) { $this->db->like($field, $search); $this->db->order_by($field); $query = $this->db->get('users'); return $query->result(); } public function searchBySubj($field, $search) { $this->db->query("SELECT id as Userid, accID as AccID, subjID as subid, subjName as sname FROM users userT INNER JOIN account accT ON id = accID INNER JOIN subjects ON accID = subjID;"); $query = $this->db->get('users', 'ASC'); return $query->result(); } 但是出现了: A Database Error Occurred Error Number: 1054 Unknown column 'subjName' in 'where clause' SELECT * FROM `users` WHERE `subjName` LIKE '%mathematics%' ESCAPE '!' ORDER BY `subjName` 当我尝试搜索位置时,第三个 elseif 会运行,它会为我提供所有列表 然后我尝试搜索不在数据库中的位置,但最后一个条件不显示闪存数据 我将 <?php echo $this->session->flashdata('nores'); ?> 放在视图中(上图) 总的来说,我只想按主题名称和我拥有的表格进行搜索。另外,如果没有记录匹配,则显示 flashdata。 这些应该如何正确完成?是什么原因导致这些错误? 我错过了什么? 删除下面提到的代码,因为它仅将其指向用户表。您只能用于活动记录。 $query = $this->db->get('users', 'ASC'); 以下是正确的做法 $query = $this->db->query("YOUR QUERY"); return $query->result(); 在您的查询中,您正在查找 subjName 表中的 Subject 列: SELECT * FROM `users` WHERE `subjName` LIKE '%mathematics%' ESCAPE '!' ORDER BY `subjName` 您需要加入主题表才能访问 subjName 列: SELECT * FROM `users` INNER JOIN account accT ON id = accID INNER JOIN subjects ON accID = subjID WHERE `subjName` LIKE '%mathematics%' ESCAPE '!' ORDER BY `subjName` (这是您的代码中添加条件的联接查询,它可能有效也可能无效)
Codeigniter 查询搜索用户提供的短语中的任何单词[重复]
我已经编写了一些代码来在CodIgniter3框架中进行搜索。当我插入 2 个或更多单词来搜索输入时,它效果很好,但是,当我只输入 1 个单词时,它会出现此错误。 怎么...
CodeIgniter 查询在多列中搜索输入字符串的每个单词[重复]
我有一个搜索表单,工作人员用它来搜索用户帐户。我希望搜索表单获取用户的输入并在数据库中搜索与其匹配的用户。 这是我的数据库结构...
我有一个名为 users 的数据库表。表的结构如下: ID 名 姓 电子邮件 手机号码 电话号码 地址 城市 状态 邮政编码 笔记 id_角色 sql中的查询
我正在创建一个辅助函数来从用户组数组中获取名称字段值。所以整个想法是在像 system_admin 这样的函数参数中传递值,然后传递 switch 来获取内容......
如何访问由 CodeIgniter 的 result_array() 填充的数组的行值
我的控制器上有这个查询: $this->db->select('t1.act_id, t2.login, t1.cust_name, t1.act_type, t1.act_detail, t1.date_added, t1.date_modified, t1.act_notes, ' 。 't3.类别,...
CodeIgniter 查询可按提交的年、月或日值搜索日期时间列
我有一个存储旅行详细信息的旅行表。其中一个字段存储日期,类型为 DATETIME 。我正在按日期创建搜索查询。 $q 可以是 搜索年份时 $q = 2012 $q = 1-1...
使用 CodeIgniter 的查询构建器方法在多个列之一中找到单个值的情况下选择行
我必须使用 CodeIgniter 在单个查询中将一个值与多个字段进行比较。我有一个值 $search_value,它应该与这两个表列 field1 或 field2 之一匹配。另外...
有没有一种简单的方法可以使用activerecord(我的数据库是mysql)获取记录的大小(就其占用的磁盘空间而言)? 我找到了几个(1, 2)答案,提供了一种使用 sql 执行此操作的方法,我
是否可以将错误添加到 ActiveRecord 对象而不将其与特定属性关联?
如果您需要编写相当复杂的验证代码,错误有时不在于特定属性,而在于多个属性的组合。 例如,如果我想验证...
使用 CodeIgniter 的查询构建方法,具有两个由 OR 分隔的条件的 WHERE 子句
我使用以下代码从 CodeIgniter Web 应用程序中的 MySQL 数据库中进行选择: $query = $this->db ->get_where('mytable', array('id' => 10)); 这很好用,但我想写...
使用 CodeIgniter 的查询生成器方法选择不在子查询中的查询
选择 * 来自证书 WHERE id NOT IN (SELECT id_cer FROM revokace); 如何在 CodeIgniter 活动记录中编写上述 select 语句?
使用逗号连接表转换原始 SQL 以使用 CodeIgniter 的查询构建器方法
如何在 Active Record 中编写此 SQL 语句? $这个->数据库->查询(' 选择 a.slogan、a.brief、u.id、u.name FROM example_tbl AS a,用户 AS u WHERE u.user_id = "' . USER_ID . '&
CodeIgniter 使用 JOIN 和 WHERE IN 子查询对表进行 SELECT 查询
我有这个原始的 MySQL 查询;我怎样才能使它成为活动记录查询? 选择 chp_id, chp_目的地, cde_名称, chp_年, chp_from, chp_to, chp_budget_price_hi...
SELECT 查询使用 CodeIgniter 检查登录用户是否具有正列值
我正在编写一个简单的应用程序。 如果用户的信用是 < 0. I have a table "User_profiles" with a "credit" column. How can I set up a model in conjunc...
使用逗号 JOINed 表重构 SQL 以使用 CodeIgniter 的查询生成器方法
如何在 Active Record 中编写此 SQL 语句? $这个->数据库->查询(' 选择 a.slogan、a.brief、u.id、u.name FROM example_tbl AS a,用户 AS u WHERE u.user_id = "' . USER_ID . '&
使用 CodeIgniter 查询生成器方法选择第二个表中每个记录的第一个表中的记录数
我想将以下内容编写为 MySQL SELECT 语句,以减少获取信息所需的查询数量,但我不知道如何编写它。 我有两张桌子 - 标签和书...
我想将以下内容编写为 MySQL SELECT 语句,以减少获取信息所需的查询数量,但我不知道如何编写它。 我有两个表 - 标签和
使用动态列和表的 CodeIgniter 查询中出现不明确的列名称错误
我最多有三个任意字段(例如“位置、犯罪和食物评级”)和两个任意表名称(例如“食物和犯罪”),其中可能包含这些给定字段。 如果有
CodeIgniter 查询包含 OR LIKE 条件和其他非 LIKE 条件的 WHERE 子句[重复]
我想将以下 SQL 查询转换为 codeIgniter 活动记录格式 从“关系”中选择 * WHERE (`用户1` = 144 或`用户2` = 144) 并且“状态”= 2 并且“行动”!= 1 我的尝试有点......