【发布时间】:2014-08-12 15:01:29
【问题描述】:
餐桌产品:id、product、lining、... 表 tbl_lining:id、文章、描述
型号
public function getliningsale($id)
{
$this->db->select('*');
$this->db->from('products');
$this->db->join('tbl_lining', 'products.lining=tbl_lining.id', 'left');
$this->db->where('products.id', $id); // Also mention table name here
$query = $this->db->get();
if($query->num_rows() > 0)
return $data->result();
}
控制器
function liningsale($id)
{
$data['liningsale'] = $this->sales_model->getliningsale($id);
$this->load->view('add', $data);
}
查看
echo '<td><input class="span1 tran2" name="lining\'+ count +\'" type="text"';
echo 'value="';
foreach ($liningsale as $valor) {
echo $valor->article;
echo '-';
echo $valor->description;
echo '">';
}
echo '</td>';
这不显示任何记录。 我尝试了几种方法都没有成功。 有人可以帮忙吗?
【问题讨论】:
-
你能在 $this->db>-get() 之后发布
var_dump($query->num_rows());。您也可以使用echo $this->db->last_query();并在 PhpMyAdmin 中测试您的查询。 -
int(0) 这是什么意思? 0 行?
SELECT * FROM (products) LEFT JOINtbl_lining` ONproducts.lining=tbl_lining.idWHEREtbl_lining.idIS NULL` -
在 PhpMyAdmin 中,查询没有找到任何记录...现在我知道这是查询的问题。我做错了什么?
-
如您所见,您的 ID 为空。因此,您不会将任何 ID 传递给您的模型函数。调用控制器时检查您的 URL 中是否有 ID。
-
是的,我明白了这是一个通过 jquery 加载数据的订单表(请参见此处的图片goo.gl/6Jl7XO)该脚本已经可以正常工作了。只需要向它添加更多信息。仅查找存储在每列中的 ID 而不是 JOIN,(衬里/皮革/其他)查询成功,每行仅显示一个 ID。问题在于
$this> db> where ('products.id', $ id);进行JOIN。我不明白你的提示。可以更客观一点吗?谢谢
标签: codeigniter view model controller