在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 :(得分:0)
不知道这是否正是您想要的,尽管它可能有所帮助。这个SO回答How to get database field type in Laravel?提到了使用doctrines schema manager:
$schema = DB:: getDoctrineSchemaManager();
然后,您可以执行各种方法,例如您提到的方法。请参阅doctrine documentation。
除此之外,功能不包括在内,据我所知,你必须自己动手。