Я пытаюсь получить строку из второй базы данных с помощью специальной команды ремесленника в Laravel.Теперь я хочу напечатать результат запроса, но получаю сообщение об ошибке.Буду признателен за любую помощь.
Я установил соединение с двумя базами данных , и они подключены и работают без проблем.таблица, с которой я работаю, называется person и содержит несколько столбцов, таких как имя, фамилия, person_id (который является автоинкрементом и первичным ключом) и ssn.Я также создал собственную команду ремесленника, которая выбирает строку из базы данных при использовании
php artisan import-users:DB 12345678
и запроса
DB::connection('mysql2')->select('SELECT * FROM person WHERE ssn=?', [$ssn])
Результат запроса помещается в переменную $ user, и теперь я просто хочу распечатать его, но получаю ошибки.вот что я попробовал
$name = $user['name'];
, который дает
ErrorException: неопределенный индекс: имя
$this->line($user[0]);
, который дает
ErrorException: объект класса stdClass не может быть преобразован в строку
$this->line($user->name);
, которая дает
ErrorException: при попытке получить имя свойства'необъектного
Я тоже много чего пробовал, но ничего не получалось.Еще раз спасибо
<?php
namespace App\Console\Commands;
use Illuminate\Console\Command;
use DB;
class ImportUsers extends Command{
protected $signature = 'import-users:DB {ssn}';
protected $description = 'import users from old database';
public function __construct()
{
parent::__construct();
}
public function handle()
{
$ssn = $this->argument('ssn');
$user = DB::connection('mysql2')->select('SELECT * FROM person WHERE
ssn=?', [$ssn]);
$this->line($user->name);
$this->info($ssn.' Done');
}
}