我的编码有问题,我想在数据库中计算用户数,但是看起来像这样
Symfony \组件\调试\异常\ FatalThrowableError(E_ERROR) 调用未定义函数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');
谢谢。
答案 0 :(得分:2)
您的控制器当前工作不多。该视图必须是有效的刀片模板文件,例如admin.index
,而不是/admin
。然后,您需要将变量而不是函数名称传递给视图。
public function list()
{
$transaksi = \App\Transaksi::all();
$numTransaksi = $transaksi->count();
return view('admin.index', compact('numTransaksi'));
}
然后在视图中,您可以通过{{ $numTransaksi }}
访问计数。
您的/
中还有web.php
的两条路线。如果您希望BackController@list
函数正确调用,则应该删除第一个。
这是你的意思吗?
答案 1 :(得分:1)
对不起,您的列表函数中的延迟答复的主要错误是
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>
希望有帮助