Получить двоичные данные из SQL Server в обычную строку в Laravel 10Php

Кемеровские программисты php общаются здесь
Ответить Пред. темаСлед. тема
Anonymous
 Получить двоичные данные из SQL Server в обычную строку в Laravel 10

Сообщение Anonymous »

я запускаю laravel 10 с существующей базой данных, используя сервер sql
я использую следующую таблицу:

Код: Выделить всё

USE [MDB]
GO

/****** Object:  Table [dbo].[loginEx]    Script Date: 5/9/2024 01:18:40 ******/
SET ANSI_NULLS ON
GO

SET QUOTED_IDENTIFIER ON
GO

SET ANSI_PADDING ON
GO

CREATE TABLE [dbo].[loginEx](
[id] [binary](13) NOT NULL,
[password] [binary](13) NOT NULL,
[email] [nvarchar](50) NULL,
CONSTRAINT [PK_loginEx] PRIMARY KEY CLUSTERED
(
[id] ASC
)WITH (PAD_INDEX = OFF, STATISTICS_NORECOMPUTE = OFF, IGNORE_DUP_KEY = OFF, ALLOW_ROW_LOCKS = ON, ALLOW_PAGE_LOCKS = ON) ON [PRIMARY]
) ON [PRIMARY]

GO

SET ANSI_PADDING OFF
GO

Я пытаюсь найти какой-то идентификатор на сервере sql напрямую с помощью этого запроса:

Код: Выделить всё

SELECT [id] = convert(varchar, id)
,[password] = convert(varchar, id)
,[Email]
FROM [MDB].[dbo].[loginEx] where id = convert(binary(13), '007kmy')
и дайте мне такой результат:

Код: Выделить всё

id = 007kmy
password = x77kmy
email = example@gmail.com
а затем он пытается получить эти данные с помощью laravel 10:

Код: Выделить всё

$user = loginEx::select('id', 'password', 'email')
->where('id', DB::raw("CONVERT(binary(13), '007kmy')"))
->first();

if ($user) {
$result = [
'id' => $user->id,
'password' => $user->password,
'email' => $user->Email
];

dd($result);
} else {
dd('User not found');
}

и тут возникает проблема: возвращаемые данные не ожидаются вот так:

Код: Выделить всё

array:3 [▼ // app\Http\Controllers\test.php:42
"id" => 7
"password" => "x77kmy\x00\x00\x00\x00\x00\x00\x00\x00\x00"
"email" => "example@gmail.com"
]
идентификатор отображает только значение id = '7' вместо '007kmy'
и пароль => " x77kmy\x00\x00\x00\x00\x00\x00\x00\x00\x00" вместо "x77kmy"
ожидаемый мной результат:

Код: Выделить всё

array:3 [▼ // app\Http\Controllers\test.php:42
"id" => "007kmy"
"password" => "x77kmy"
"email" => "example@gmail.com"
]
я ценю любые предложения или помощь, спасибо

Подробнее здесь: https://stackoverflow.com/questions/784 ... laravel-10
Реклама
Ответить Пред. темаСлед. тема

Быстрый ответ

Изменение регистра текста: 
Смайлики
:) :( :oops: :roll: :wink: :muza: :clever: :sorry: :angel: :read: *x)
Ещё смайлики…
   
К этому ответу прикреплено по крайней мере одно вложение.

Если вы не хотите добавлять вложения, оставьте поля пустыми.

Максимально разрешённый размер вложения: 15 МБ.

  • Похожие темы
    Ответы
    Просмотры
    Последнее сообщение

Вернуться в «Php»