2

我想知道是否有办法使用 OO PHP 完全优化我的 SQL 请求。举个例子,我们有 3 个对象类,命名为 3 个表:

  • 产品:id、名称、价格、颜色...
  • 客户:身份证、姓名、姓氏、电子邮件...
  • 购物车:id、id_product、id_customer...

所有的 getter 和 setter 都是经典的。现在,我只想在我的付款页面上显示 Product[name] 和 Customer[surname]。相应的完全优化的请求是

SELECT product.name, customer.surname FROM cart INNER JOIN product ON product.id = cart.id_product INNER JOIN customer ON customer.id = cart.id_customer

我可以在哪里或如何使用 OOP 生成这个完全优化的请求?并且不必检索整个对象并在以后处理它们?我是否必须为需要优化的每个 sql 请求创建一个方法?也许是一个请求生成器?

4

2 回答 2

3

不确定我是否完全理解,但也许这样的事情会让你开始:

function findIt($table,$field,$value)
{
    $table=$mysqli->real_escape_string($table);
    $field=$mysqli->real_escape_string($field);
    $value=$mysqli->real_escape_string($value);
    if ($result = $mysqli->query
        ("SELECT * FROM $table WHERE $field like '$value' LIMIT 0,1;")) 
    {
        return $result->fetch_object();
    }
}    

调用它:

$oCart=findIt('cart','id','SomeID');
echo $oCart->name;
于 2013-09-26T08:09:16.243 回答
0

我一直在寻找的是 ORM,因为它可以自动管理请求优化。但是 ORM 非常受限制。所以我必须创建一个函数,以优化的方式生成我的请求。

于 2013-09-26T09:02:09.627 回答