2013-11-14 9 views
1

В Laravel 4 есть ли способ получить информацию о поле на основе результатов запроса?Получить полевые данные в Laravel 4

Я могу сделать это в чистом PHP/MySQL, но я хотел бы убедиться, что в рамках Laravel нет способа сделать это, прежде чем идти по этому маршруту.

Ниже приведен пример сайта PHP, иллюстрирующий функцию fetch_fields(). Мне интересно узнать, есть ли эквивалентный подход Laravel для получения результатов от функции fetch_fields(), как в примере ниже.

<?php 
$mysqli = new mysqli("localhost", "my_user", "my_password", "world"); 

/* check connection */ 
if (mysqli_connect_errno()) { 
    printf("Connect failed: %s\n", mysqli_connect_error()); 
    exit(); 
} 

$query = "SELECT Name, SurfaceArea from Country ORDER BY Code LIMIT 5"; 

if ($result = $mysqli->query($query)) { 

    /* Get field information for all columns */ 
    $finfo = $result->fetch_fields(); 

    foreach ($finfo as $val) { 
     printf("Name:  %s\n", $val->name); 
     printf("Table: %s\n", $val->table); 
     printf("max. Len: %d\n", $val->max_length); 
     printf("Flags: %d\n", $val->flags); 
     printf("Type:  %d\n\n", $val->type); 
    } 
    $result->close(); 
} 

/* close connection */ 
$mysqli->close(); 
?> 
+0

Насколько я знаю, ничего подобного не существует. Но, возможно, у кого-то еще есть более глубокие знания по этому вопросу. – cen

ответ

0

Не знаю, действительно ли это именно то, что вы хотите, хотя это может помочь. Это ТАК ответить How to get database field type in Laravel? упоминает с помощью доктрин менеджер схемы:

$schema = DB:: getDoctrineSchemaManager(); 

Который затем позволит вам выполнять различные методы, такие, как тот, который вы упоминаете. Для этого см. doctrine documentation.

Помимо этого, функциональность не включена, и вам, насколько мне известно, придется катиться самостоятельно.

+0

Спасибо. Я видел этот ответ, но я хочу использовать его в выражении select, а не в таблице. Я думаю, ты прав, мне придется сворачивать. – shawnzizzo

Смежные вопросы