簡體   English   中英

Doctrine:從名字表中獲取一個隨機名字

[英]Doctrine: Get a random name from a table of names

我有一個只有兩列的 SQL 表:“nameid”和“name”。 我想從數據庫中獲取一個隨機名稱。

在我這樣做之前:

    $result = mysql_query("SELECT * FROM nametable",$db);
    $number = mysql_num_rows($result);
    $random = rand(1,$number);
    list($name) = mysql_fetch_row(mysql_query("SELECT name FROM nametable WHERE nameid=$random",$db));

我怎樣才能對 Doctrine 做同樣的事情?

MySQL 有一個 function 用於生成隨機浮點值RAND() 按此排序時,名稱將隨機排序。 在此之后,您只需 select 第一個隨機排序的名稱。

SELECT name FROM nametable ORDER BY RAND() LIMIT 1

對於 Doctrine,這可以使用

$name = Doctrine::getTable('nametable')
  ->createQuery()
  ->select('name')
  ->orderBy('RAND()')
  ->fetchOne();

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM