2015-10-09 3 views
0

Я только что установил на своем сервере SphinxQL Vendor (я новичок в этом), и у меня есть проблема - я не могу найти способ заставить скрипт работать с помощью случайного выбора.SphinxQL Vendor Order Случайный

Это мой код:

require "./classes/vendor/autoload.php"; 
use Foolz\SphinxQL\SphinxQL; 
use Foolz\SphinxQL\Connection; 


// create a SphinxQL Connection object to use with SphinxQL 
$conn = new Connection(); 
$conn->setParams(array('host' => '127.0.0.1', 'port' => 9306)); 
$query = SphinxQL::create($conn)->select('*') 
    ->from('documents_titles') 
    ->match('title','welcome') 
    ->orderBy('title', $direction = 'RAND()'); 
$result = $query->execute(); 
var_dump($result); 

Я перепробовал много способов сделать это случайно, но не повезло. Надеюсь, кто-то может мне помочь.

ответ

0

SphinxQL поддерживает только asc и desc опции, а не rand направление. См. https://github.com/FoolCode/SphinxQL-Query-Builder#group-within-group-order-offset-limit-option для более подробной информации.

Однако, вы можете сделать это в PHP вместо:

require "./classes/vendor/autoload.php"; 
use Foolz\SphinxQL\SphinxQL; 
use Foolz\SphinxQL\Connection; 


// create a SphinxQL Connection object to use with SphinxQL 
$conn = new Connection(); 
$conn->setParams(array('host' => '127.0.0.1', 'port' => 9306)); 
$query = SphinxQL::create($conn)->select('*') 
    ->from('documents_titles') 
    ->match('title','welcome'); 

$result = $query->execute(); 
shuffle($result); // <-- ADD THIS LINE 
var_dump($result); 
Смежные вопросы