在Laravel 4中获取查询字段信息

时间:2013-11-14 20:30:59

标签: php mysql 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();
?>

1 个答案:

答案 0 :(得分:0)

不知道这是否正是您想要的,尽管它可能有所帮助。这个SO回答How to get database field type in Laravel?提到了使用doctrines schema manager:

$schema = DB:: getDoctrineSchemaManager();

然后,您可以执行各种方法,例如您提到的方法。请参阅doctrine documentation

除此之外,功能不包括在内,据我所知,你必须自己动手。