So schreiben Sie Codesigniter aktiven Datensatz, wobei () zwei Spalten vergleiche [Duplikat]Php

PHP-Programmierer chatten hier
Anonymous
 So schreiben Sie Codesigniter aktiven Datensatz, wobei () zwei Spalten vergleiche [Duplikat]

Post by Anonymous »

Ich habe diese beiden Tabellen: < /p>

Code: Select all

+-------------+--------------+
| products_id | product_name |
+-------------+--------------+
|           1 | Pizza x      |
|           2 | Pizza Y      |
|           3 | Pizza A      |
|           4 | Pizza Z      |
|           5 | Pizza W      |
+-------------+--------------+

+----+-------------+----------+----------+
| id | products_id | order_id | quantity |
+----+-------------+----------+----------+
|  1 |           1 |        5 |        3 |
|  1 |           2 |        5 |        4 |
|  2 |           3 |        6 |        3 |
|  2 |           4 |        6 |        3 |
|  3 |           5 |        7 |        2 |
+----+-------------+----------+----------+
Ich möchte products_name und Menge für jedes order_id auswählen. Ich habe es in normalem SQL gemacht, aber als ich versuche, die Auswahlklausel in Code> Niter auszuwählen, gibt es null zurück. < /P>
Woher weiß ich, dass es null ist? Ich habe eine Methode, bei der ich überprüfe, ob das Ergebnis null ist. Wenn dies der Fall ist, zeigt der Controller einen 404 an.

Code: Select all

 public function get_products_from_orders($id){
$this->db->select('products.product_name');
$this->db->select('products_to_orders.quantity');
$this->db->from('products');
$this->db->from('products_to_orders');
$this->db->where('products.products_id','products_to_orders.product_id');
$this->db->where('products_to_orders.order_id',$id);

$query = $this->db->get();
return $query->result_array();
}
< /code>
Normaler SQL: < /p>
$data = $this->db->query("select products.product_name, products_to_orders.quantity
from products, products_to_orders
where products.products_id = products_to_orders.product_id
and products_to_orders.order_id ='" . $id."'");
return $data;
< /code>
Controller: < /p>
public function view($id = NULL)
{
$data['products'] = $this->order_model->get_products_from_orders($id);

if (empty($data['products'])) {
show_404();
}
$this->load->view('templates/header');
$this->load->view('orders/view',$data);
$this->load->view('templates/footer');
}

Quick Reply

Change Text Case: 
   
  • Similar Topics
    Replies
    Views
    Last post