【发布时间】:2020-12-31 07:13:32
【问题描述】:
在我的 laravel 应用程序中,我想获取给定 SQL Server 表的所有列的 cmets。
这是我迄今为止尝试过的:
$query = "SELECT sys.objects.name AS TableName, sys.columns.name AS ColumnName,
ep.name AS PropertyName, ep.value AS Description
FROM sys.objects
INNER JOIN sys.columns ON sys.objects.object_id = sys.columns.object_id
CROSS APPLY fn_listextendedproperty(default,
'SCHEMA', schema_name(schema_id),
'TABLE', sys.objects.name, 'COLUMN', sys.columns.name) ep
ORDER BY sys.objects.name, sys.columns.column_id";
$columnDetails = DB::connection($user->getConnectionName())->select(DB::raw($query)
这就是我的表格在 DBeaver 中的样子:
但是,我从我的代码中得到了这个结果,它给出了null 的“描述”:
我是否在查询或表设置中做错了什么,导致它为空?
附加信息
我通过 DBeaver UI 添加了原始评论,认为这可能不会像我认为的那样做,我返回并通过 SQL 添加了另一列和评论:
EXEC laravel.sys.sp_addextendedproperty 'MS_Description', 'Some test description', 'schema', 'guest', 'table', 'users', 'column', 'test' GO
不幸的是,这导致了同样的问题:
【问题讨论】:
标签: sql sql-server laravel