小编Jud*_*man的帖子

MySQL性能 - 单个值的"IN"子句与等于(=)

这是一个非常简单的问题,我假设答案是"无所谓",但无论如何我都要问...

我有一个用PHP构建的通用sql语句:

$sql = 'SELECT * FROM `users` WHERE `id` IN(' . implode(', ', $object_ids) . ')';
Run Code Online (Sandbox Code Playgroud)

假设先前的有效性检查($object_ids是一个包含至少1个项目和所有数值的数组),我应该执行以下操作吗?

if(count($object_ids) == 1) {
    $sql = 'SELECT * FROM `users` WHERE `id` = ' . array_shift($object_ids);
} else {
    $sql = 'SELECT * FROM `users` WHERE `id` IN(' . implode(', ', $object_ids) . ')';
}
Run Code Online (Sandbox Code Playgroud)

或者是检查count($object_ids)不值得在实际的sql语句中保存的内容(如果有的话)?

php mysql performance

34
推荐指数
4
解决办法
2万
查看次数

PHPUnit:使用@dataProvider时"未找到"类'Eloquent'

@dataProvider在使用Laravel应用程序中使用PHPUnit编写单元测试时,我遇到了一个问题.我收到的错误是:

PHP致命错误:第7行的/path/to/project/app/models/ExampleClass.php中找不到类'Eloquent'

它看起来像是使用的常数dataProvider导致致命.

composer.json:

"psr-4": {
    "Acme\\Models\\": "app/models"
}
Run Code Online (Sandbox Code Playgroud)

phpunit.xml:

<?xml version="1.0" encoding="UTF-8"?>
<phpunit backupGlobals="false"
         backupStaticAttributes="false"
         bootstrap="bootstrap/autoload.php"
         colors="true"
         convertErrorsToExceptions="true"
         convertNoticesToExceptions="true"
         convertWarningsToExceptions="true"
         processIsolation="false"
         stopOnFailure="false"
         syntaxCheck="false"
>
    <testsuites>
        <testsuite name="Application Test Suite">
            <directory>./app/tests/</directory>
        </testsuite>
    </testsuites>
</phpunit>
Run Code Online (Sandbox Code Playgroud)

示例模型:

<?php
namespace Acme\Models;

use Eloquent;

class ExampleClass extends Eloquent
{
    /**
     * @var bool
     */
    const TRUE = true;
}
Run Code Online (Sandbox Code Playgroud)

示例测试类:

<?php

use Acme\Models\ExampleClass;

class ExampleClassTest extends TestCase
{
    /**
     * Example test.
     *
     * @param int $value
     * @return void
     * …
Run Code Online (Sandbox Code Playgroud)

php phpunit laravel composer-php

6
推荐指数
1
解决办法
1768
查看次数

标签 统计

php ×2

composer-php ×1

laravel ×1

mysql ×1

performance ×1

phpunit ×1