1

在 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();
?>
4

1 回答 1

0

不知道这是否正是您想要的,尽管它可能会有所帮助。这个 SO 答案如何在 Laravel 中获取数据库字段类型?提到使用学说模式管理器:

$schema = DB:: getDoctrineSchemaManager();

然后,这将允许您执行各种方法,例如您提到的方法。请参阅教义文档

除此之外,该功能不包括在内,据我所知,您将不得不自己动手。

于 2013-11-14T23:51:18.920 回答