Вызов неопределенной функции App \ Transaksi () - PullRequest
0 голосов
/ 16 декабря 2018

У меня есть проблема с моим кодированием, я хочу посчитать пользователя в моей базе данных, но похоже, что он такой

Symfony \ Component \ Debug \ Exception \ FatalThrowableError (E_ERROR) Вызов undefinedfunction App \ Transaksi () **

Вот мой index.php

 <div class="col-lg-4 col-xs-6">
<!-- small box -->
<div class="small-box bg-aqua">
  <div class="inner">
    <h3>{{ $list->transaksi }}</h3>

    <p>Transaksi</p>
  </div>

и мой controller.php

<?php
namespace App\Http\Controllers;

use Illuminate\Http\Request;

class BackController extends Controller
{
public function list()
{

$transaksi = \App\Transaksi::get();
$transaksi = \App\Transaksi('id')->count();

 return view('/admin', compact('list'));
 }

}

и мои маршруты

Route::group(['prefix'=>'user','middleware' => ['auth', 'role:member']],
function (){
    Route::get('/mybook','FrontController@mybook');
});

Route::group(['prefix'=>'admin','middleware' => ['auth', 'role:admin']], function(){


Route::get('/',function() {
  return view('admin.index');
});
Route::get('/','BackController@list');
Route::get('logout','UserController@logout');

Спасибо.

Ответы [ 2 ]

0 голосов
/ 16 декабря 2018

Извините За поздний ответ основная ошибка в вашем списке:

public function list()
{

$transaksi = \App\Transaksi::get();
$transaksi = \App\Transaksi('id')->count();

 return view('/admin', compact('list'));
 }

Вы используете одно и то же имя переменной для

Извлеките все записи $transaksi = \App\Transaksi::get();, а также для Подсчетавсе записи $transaksi = \App\Transaksi('id')->count();

, а также вы не передаете их в просмотрщик балдов

Вместо этого вы передаете имя функции list

return view('/admin', compact('list'));

Решение Для вашей проблемы

Для начала вам не нужно писать \App\Transaksi в каждом месте

Просто перейдите в начало контроллера и добавьте эту строку

use App\Transaksi;

Тогда Ваша функция

Существует несколько способов подсчета записи

Метод 1:

public function list()
{
   $transaksi= Transaksi::latest()->paginate(10);
   return view('transaksi.index', compact('transaksi'));
}

здесь view('transaksi.index') относится к

Projectname/resources/views/transaksi/index.blade.php

Затем в вашем index.blade.php, чтобы получить счет, используйте код

<h3 class="modal-title">{{ $transaksi->total() }} {{ str_plural('Transaksi', $transaksi->count()) }} </h3>

Метод 2:

public function list()
    {
        $transaksi  = Transaksi::latest()->get();
        $recordCount = Transaksi::count();
        return view('transaksi.index', compact('transaksi','recordCount'));
    }

Тогда в вашем блейд-файле

<h3>{{ $recordCount }}</h3>

Надеюсь, это поможет

0 голосов
/ 16 декабря 2018

Ваш контроллер сейчас мало что делает.Представление должно быть допустимым файлом шаблона блейда, например admin.index, а не /admin.Затем вам нужно передать переменную в представление, а не имя функции.

public function list()
{

    $transaksi = \App\Transaksi::all();
    $numTransaksi = $transaksi->count();

    return view('admin.index', compact('numTransaksi'));
}

Затем в представлении вы можете получить доступ к счетчику через {{ $numTransaksi }}.

У вас также есть два маршрутаза / в вашем web.php.Вы должны избавиться от первого, если хотите, чтобы функция BackController@list вызывалась правильно.

Это то, что вы имеете в виду?

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