Laravel 5.7 где Null - PullRequest
       29

Laravel 5.7 где Null

0 голосов
/ 12 февраля 2019

Я хочу получить данные из базы данных, в которой значение определенного столбца равно нулю. Я искал в построителе запросов laravel doc, сказал, что используй whereNull и я, но я получил это сообщение об ошибке

htmlspecialchars() ожидает, что параметр 1 будет строкой, заданный объектмой контроллер

public function index()
{
  $pa = DB::table('account_pay_ables')
                ->whereNull('invoice')
                ->get();
  return view('pages.purchaseIndex',['pa'=>$pa]);
}

я тоже пробовал этот же результат

$pa = DB::select("SELECT count(*) as new FROM account_pay_ables  WHERE invoice IS NULL");

в настоящее время на моем buyIndex.blade.php только этот

@foreach($pa as $data)
  {{ $data}}
@endforeach

Ответы [ 2 ]

0 голосов
/ 12 февраля 2019
@foreach($pa as $data)
  {{ optional($data)->new }}
@endforeach

Необязательная функция является хорошей оберткой для этого, если объект имеет значение null, все, к чему вы обращаетесь из него, равно null, иначе выводится как обычно.

НО, я полагаю, $data - это объект, поэтому вам нужно либо преобразовать его в строку, либо поместить в HTML, так что сначала сделайте это.

0 голосов
/ 12 февраля 2019

Проблема не в вашем методе whereNull ().Проблема на ваш взгляд.

@foreach($pa as $data)
  {{ $data->column_name }} // you can't print an object instead print a string 
@endforeach
...