Мне нужно получить некоторые данные в laravel, используя базу данных вторичного соединения в SQL Сервер.
Мой код такой:
DB::connection('sqlsrv')->enableQueryLog();
$clstamp = DB::connection('sqlsrv')
->table('cl')
->select('clstamp','ncont','no')
->where("ncont", "507751167")
->get();
dd(DB::connection('sqlsrv')->getQueryLog(),$clstamp );
Результат:
Когда я удаляю строку «-> где», появляются мои данные. Я уверен, что мой SQL запрос в порядке, я пытался в SQL Server Management Studio.
Что я делаю не так? Каков наилучший метод для создания запросов и привязок с моделью, которая не контролирует мою laravel структуру / миграции? эта SQL база данных сервера является внешней, мне нужно только извлечь данные.
Моя простая модель:
class PHC_cl extends Model
{
//
protected $connection= 'sqlsrv';
protected $guarded = [];
protected $primaryKey = 'clstamp';
protected $table = 'cl';
}
Если я удалю строку -> where (), она выведет данные нормально - массив-> 663 itens данные в порядке
Я уже пробовал использовать whereRaw, помещая условие между '....', но всегда возвращаю пустое.
Мой код для других метод:
DB::connection('sqlsrv')->enableQueryLog();
$sql = "
SELECT clstamp,ncont,no
FROM CL
WHERE ncont like :ncont
";
$clstamp = DB::connection('sqlsrv')->select(DB::raw($sql),[
'ncont' => $data['nif']
]);
dd(DB::connection('sqlsrv')->getQueryLog(),$clstamp );
Мои $ data ['nif] равны' 507751167 ', и результат таков: результат БД: raw