Получать данные из БД, используя определенные критерии в Laravel Eloquent - PullRequest
0 голосов
/ 26 ноября 2018

У меня есть две базы данных с именами users и calls.

Таблица вызовов

<?php

public function up()
{
    Schema::create('calls', function (Blueprint $table) {
        $table->increments('id');
        $table->integer('user_id')->unsigned()->nullable();
        $table->timestamps();
        $table->text('terminal_id', 20);
        $table->text('terminal_name', 100);
        $table->text('fault_description');
        $table->string('call_status', 10)->default('New call');
        $table->string('pending_on', 20)->nullable();
        $table->text('closed_on', 20)->nullable();
        $table->text('closed_by', 50)->nullable();
        $table->foreign('user_id')->references('id')->on('users')->onDelete('cascade');
    });
}

CallsController

public function index()
{
    $calls = Call::orderBy('created_at', 'desc')->get(); 

    return view('pages.newCall')->with('calls', $calls); 
}

public function viewCall($id) { 
    $calls = Call::find($id);

    return view('pages.viewCall')->with('calls', $calls);
}

В настоящее время CallsController возвращает все строки в таблице calls, но я хочу, чтобы он возвращал только те строки, которые имеют свойство 'New call' в столбце call_status в calls table. Как сделатьЯ делаю это из CallsController?

1 Ответ

0 голосов
/ 26 ноября 2018

Если вы хотите получить строки, которые имеют

1. call_status, равный 'New Call':

$calls = Call::where('call_status', 'New call')->orderBy('created_at', 'desc')->get();

2. call_status notравно «Новый звонок»:

$calls = Call::where('call_status', '<>', 'New call')->orderBy('created_at', 'desc')->get();

Вы можете использовать != вместо <> выше.

3. call_status равно NULL (пусто):

$calls = Call::whereNull('call_status')->orderBy('created_at', 'desc')->get();

4. call_status равно 'New Call' или NULL:

$calls = Call::where('call_status', 'New call')->orWhereNull('call_status')->orderBy('created_at', 'desc')->get();

Laravel имеет ORM Eloquent и использует построитель запросов с именем Fluent .Для получения дополнительной информации о построении запросов ознакомьтесь с официальным документом.

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