База данных Laravel - PullRequest
       4

База данных Laravel

1 голос
/ 02 июля 2019

У меня проблема, я хочу создать команду базы данных с переменными, но она не работает вообще.Я новичок в Laravel.если я напишу в sql команду K.id = W.Kid это работает.Но я хочу знать, как это работает с переменными.

  if(request('nachname'))
  {
    $nachnamesuchen = request('nachname');
    $nachnameanzeigen = $nachnamesuchen;
  }
  else
  {
    $nachnamesuchen='%';
    $nachnameanzeigen=null;
  }
  if(request('ortadden')!=null)
  {
    $ortaddensuchen=request('ortadden');
    $ortanzeigen=$ortaddensuchen;

    $test="K.id";
    $test1="W.Kid";

  }
  else
  {
    $ortaddensuchen='%';
    $ortanzeigen=null;
    $test='1';
    $test1='1';

  }
  $Datenzumsuchen=array(
                          'Vorname'=>$vornameanzeigen,
                          'Nachname'=>$nachnameanzeigen,
                          'Ort'=>$ortanzeigen,
                        );
      $Kundenanzeigen=DB::select('select K.vorname,K.nachname,K.id from Kundes AS K,
      wunschorte AS W where K.vorname like ? and K.nachname like ? and W.Wunschort like ? and ?=?',
      [$vornamesuchen,$nachnamesuchen,$ortaddensuchen,$test,$test1]);

1 Ответ

0 голосов
/ 02 июля 2019

Ваш запрос является строкой, поэтому вы можете просто поместить в них эти переменные:

DB::select('select K.vorname,K.nachname,K.id from Kundes AS K, 
wunschorte AS W where K.vorname like '.$vornameanzeigen.' AND ...

Но я бы посоветовал вам взглянуть на Eloquent, который является способом взаимодействия с базой данных Laravel, он делает запросы намного менее сложными и более упорядоченными (на мой взгляд).
https://laravel.com/docs/5.8/eloquent

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...