Feb 10, 2017
0
Level 1
ErrorException: call_user_func() expects parameter 1 to be a valid callback, class 'App\Repositories\Backend\About\News' not found in /var/www/html/App/app/Repositories/BaseRepository.php:98
Hi all, I get the exception above when i visit my Newstable view(CRUD) maybe someone can help.
Greetz Marcus
Stacktrace
Stack trace:
#0 [internal function]: Illuminate\Foundation\Bootstrap\HandleExceptions->handleError(2, 'call_user_func(...', '/var/www/html/h...', 98, Array)
#1 /var/www/html/heincloud/app/Repositories/BaseRepository.php(98): call_user_func('App\\Repositorie...')
#2 /var/www/html/heincloud/app/Repositories/Backend/About/NewsRepository.php(27): App\Repositories\BaseRepository->query()
#3 /var/www/html/heincloud/app/Http/Controllers/Backend/About/Tablecontrollers/NewsTableController.php(33): App\Repositories\Backend\About\NewsRepository->getForDataTable()
#4 [internal function]: App\Http\Controllers\Backend\About\Tablecontrollers\NewsTableController->__invoke(Object(App\Http\Requests\Backend\About\ManageNewsRequest))
#5 /var/www/html/heincloud/bootstrap/cache/compiled.php(9584): call_user_func_array(Array, Array)
#6 /var/www/html/heincloud/bootstrap/cache/compiled.php(9611): Illuminate\Routing\Controller->callAction('__invoke', Array)
#7 /var/www/html/heincloud/bootstrap/cache/compiled.php(8665): Illuminate\Routing\ControllerDispatcher->dispatch(Object(Illuminate\Routing\Route), Object(App\Http\Controllers\Backend\About\Tablecontrollers\NewsTableController), '__invoke')
#8 /var/www/html/heincloud/bootstrap/cache/compiled.php(8646): Illuminate\Routing\Route->runController()
#9 /var/www/html/heincloud/bootstrap/cache/compiled.php(8355): Illuminate\Routing\Route->run(Object(Illuminate\Http\Request))
#10 /var/www/html/heincloud/vendor/laravel/framework/src/Illuminate/Routing/Pipeline.php(53): Illuminate\Routing\Router->Illuminate\Routing{closure}(Object(Illuminate\Http\Request))
#11 /var/www/html/heincloud/app/Http/Middleware/SessionTimeout.php(59): Illuminate\Routing\Pipeline->Illuminate\Routing{closure}(Object(Illuminate\Http\Request))
#12 /var/www/html/heincloud/bootstrap/cache/compiled.php(10069): App\Http\Middleware\SessionTimeout->handle(Object(Illuminate\Http\Request), Object(Closure))
#13 /var/www/html/heincloud/vendor/laravel/framework/src/Illuminate/Routing/Pipeline.php(33): Illuminate\Pipeline\Pipeline->Illuminate\Pipeline{closure}(Object(Illuminate\Http\Request))
#14 /var/www/html/heincloud/app/Http/Middleware/RouteNeedsPermission.php(41): Illuminate\Routing\Pipeline->Illuminate\Routing{closure}(Object(Illuminate\Http\Request))
#15 /var/www/html/heincloud/bootstrap/cache/compiled.php(10069): App\Http\Middleware\RouteNeedsPermission->handle(Object(Illuminate\Http\Request), Object(Closure), 'view-backend')
#16 /var/www/html/heincloud/vendor/laravel/framework/src/Illuminate/Routing/Pipeline.php(33): Illuminate\Pipeline\Pipeline->Illuminate\Pipeline{closure}(Object(Illuminate\Http\Request))
#17 /var/www/html/heincloud/app/Http/Middleware/LocaleMiddleware.php(57): Illuminate\Routing\Pipeline->Illuminate\Routing{closure}(Object(Illuminate\Http\Request))
#18 /var/www/html/heincloud/bootstrap/cache/compiled.php(10069): App\Http\Middleware\LocaleMiddleware->handle(Object(Illuminate\Http\Request), Object(Closure))
#19 /var/www/html/heincloud/vendor/laravel/framework/src/Illuminate/Routing/Pipeline.php(33): Illuminate\Pipeline\Pipeline->Illuminate\Pipeline{closure}(Object(Illuminate\Http\Request))
#20 /var/www/html/heincloud/bootstrap/cache/compiled.php(10177): Illuminate\Routing\Pipeline->Illuminate\Routing{closure}(Object(Illuminate\Http\Request))
#21 /var/www/html/heincloud/bootstrap/cache/compiled.php(10069): Illuminate\Routing\Middleware\SubstituteBindings->handle(Object(Illuminate\Http\Request), Object(Closure))
#22 /var/www/html/heincloud/vendor/laravel/framework/src/Illuminate/Routing/Pipeline.php(33): Illuminate\Pipeline\Pipeline->Illuminate\Pipeline{closure}(Object(Illuminate\Http\Request))
#23 /var/www/html/heincloud/vendor/laravel/framework/src/Illuminate/Auth/Middleware/Authenticate.php(43): Illuminate\Routing\Pipeline->Illuminate\Routing{closure}(Object(Illuminate\Http\Request))
#24 /var/www/html/heincloud/bootstrap/cache/compiled.php(10069): Illuminate\Auth\Middleware\Authenticate->handle(Object(Illuminate\Http\Request), Object(Closure))
#25 /var/www/html/heincloud/vendor/laravel/framework/src/Illuminate/Routing/Pipeline.php(33): Illuminate\Pipeline\Pipeline->Illuminate\Pipeline{closure}(Object(Illuminate\Http\Request))
#26 /var/www/html/heincloud/bootstrap/cache/compiled.php(3312): Illuminate\Routing\Pipeline->Illuminate\Routing{closure}(Object(Illuminate\Http\Request))
#27 /var/www/html/heincloud/bootstrap/cache/compiled.php(10069): Illuminate\Foundation\Http\Middleware\VerifyCsrfToken->handle(Object(Illuminate\Http\Request), Object(Closure))
#28 /var/www/html/heincloud/vendor/laravel/framework/src/Illuminate/Routing/Pipeline.php(33): Illuminate\Pipeline\Pipeline->Illuminate\Pipeline{closure}(Object(Illuminate\Http\Request))
#29 /var/www/html/heincloud/bootstrap/cache/compiled.php(13749): Illuminate\Routing\Pipeline->Illuminate\Routing{closure}(Object(Illuminate\Http\Request))
#30 /var/www/html/heincloud/bootstrap/cache/compiled.php(10069): Illuminate\View\Middleware\ShareErrorsFromSession->handle(Object(Illuminate\Http\Request), Object(Closure))
#31 /var/www/html/heincloud/vendor/laravel/framework/src/Illuminate/Routing/Pipeline.php(33): Illuminate\Pipeline\Pipeline->Illuminate\Pipeline{closure}(Object(Illuminate\Http\Request))
#32 /var/www/html/heincloud/bootstrap/cache/compiled.php(12155): Illuminate\Routing\Pipeline->Illuminate\Routing{closure}(Object(Illuminate\Http\Request))
#33 /var/www/html/heincloud/bootstrap/cache/compiled.php(10069): Illuminate\Session\Middleware\StartSession->handle(Object(Illuminate\Http\Request), Object(Closure))
#34 /var/www/html/heincloud/vendor/laravel/framework/src/Illuminate/Routing/Pipeline.php(33): Illuminate\Pipeline\Pipeline->Illuminate\Pipeline{closure}(Object(Illuminate\Http\Request))
#35 /var/www/html/heincloud/bootstrap/cache/compiled.php(13495): Illuminate\Routing\Pipeline->Illuminate\Routing{closure}(Object(Illuminate\Http\Request))
#36 /var/www/html/heincloud/bootstrap/cache/compiled.php(10069): Illuminate\Cookie\Middleware\AddQueuedCookiesToResponse->handle(Object(Illuminate\Http\Request), Object(Closure))
#37 /var/www/html/heincloud/vendor/laravel/framework/src/Illuminate/Routing/Pipeline.php(33): Illuminate\Pipeline\Pipeline->Illuminate\Pipeline{closure}(Object(Illuminate\Http\Request))
#38 /var/www/html/heincloud/bootstrap/cache/compiled.php(13432): Illuminate\Routing\Pipeline->Illuminate\Routing{closure}(Object(Illuminate\Http\Request))
#39 /var/www/html/heincloud/bootstrap/cache/compiled.php(10069): Illuminate\Cookie\Middleware\EncryptCookies->handle(Object(Illuminate\Http\Request), Object(Closure))
#40 /var/www/html/heincloud/vendor/laravel/framework/src/Illuminate/Routing/Pipeline.php(33): Illuminate\Pipeline\Pipeline->Illuminate\Pipeline{closure}(Object(Illuminate\Http\Request))
#41 /var/www/html/heincloud/bootstrap/cache/compiled.php(10054): Illuminate\Routing\Pipeline->Illuminate\Routing{closure}(Object(Illuminate\Http\Request))
#42 /var/www/html/heincloud/bootstrap/cache/compiled.php(8356): Illuminate\Pipeline\Pipeline->then(Object(Closure))
#43 /var/www/html/heincloud/bootstrap/cache/compiled.php(8347): Illuminate\Routing\Router->runRouteWithinStack(Object(Illuminate\Routing\Route), Object(Illuminate\Http\Request))
#44 /var/www/html/heincloud/bootstrap/cache/compiled.php(8338): Illuminate\Routing\Router->dispatchToRoute(Object(Illuminate\Http\Request))
#45 /var/www/html/heincloud/bootstrap/cache/compiled.php(2575): Illuminate\Routing\Router->dispatch(Object(Illuminate\Http\Request))
#46 /var/www/html/heincloud/vendor/laravel/framework/src/Illuminate/Routing/Pipeline.php(53): Illuminate\Foundation\Http\Kernel->Illuminate\Foundation\Http{closure}(Object(Illuminate\Http\Request))
#47 /var/www/html/heincloud/bootstrap/cache/compiled.php(3374): Illuminate\Routing\Pipeline->Illuminate\Routing{closure}(Object(Illuminate\Http\Request))
#48 /var/www/html/heincloud/bootstrap/cache/compiled.php(10069): Illuminate\Foundation\Http\Middleware\CheckForMaintenanceMode->handle(Object(Illuminate\Http\Request), Object(Closure))
#49 /var/www/html/heincloud/vendor/laravel/framework/src/Illuminate/Routing/Pipeline.php(33): Illuminate\Pipeline\Pipeline->Illuminate\Pipeline{closure}(Object(Illuminate\Http\Request))
#50 /var/www/html/heincloud/bootstrap/cache/compiled.php(10054): Illuminate\Routing\Pipeline->Illuminate\Routing{closure}(Object(Illuminate\Http\Request))
#51 /var/www/html/heincloud/bootstrap/cache/compiled.php(2519): Illuminate\Pipeline\Pipeline->then(Object(Closure))
#52 /var/www/html/heincloud/bootstrap/cache/compiled.php(2503): Illuminate\Foundation\Http\Kernel->sendRequestThroughRouter(Object(Illuminate\Http\Request))
#53 /var/www/html/heincloud/public/index.php(52): Illuminate\Foundation\Http\Kernel->handle(Object(Illuminate\Http\Request))
#54 {main}
NewsModel
<?php
namespace App\Aboutpages;
use Illuminate\Database\Eloquent\Model;
use App\Aboutpages\Traits\NewsAttribute;
use Auth;
class News extends Model
{
use NewsAttribute;
/*
*
*/
public $fillable = ['title', 'content', 'user_id'];
/*
*
*/
public function __construct(array $attributes = [])
{
parent::__construct($attributes);
$this->table = config('access.news_table');
}
/*
*
*/
protected static function boot()
{
parent::boot();
static::creating(function ($model) {
if (Auth::check()) {
$model->user_id = Auth::id();
$model->user_id = Auth::id();
}
});
static::updating(function($model) {
if (Auth::check()) {
$model->user_id = Auth::id();
}
});
}
}
NewsController
<?php
namespace App\Http\Controllers\Backend\About;
use App\Http\Controllers\Backend\About\NewsController;
use Illuminate\Http\Request;
use App\Http\Controllers\Controller;
use App\Aboutpages\News;
class NewsController extends Controller
{
/**
* Display a listing of the resource.
*
* @return \Illuminate\Http\Response
*/
public function index()
{
return view('backend.about.news.index');
}
/**
* Show the form for creating a new resource.
*
* @return \Illuminate\Http\Response
*/
public function create()
{
return view('backend.about.news.create');
}
/**
* Store a newly created resource in storage.
*
* @param \Illuminate\Http\Request $request
* @return \Illuminate\Http\Response
*/
public function store(Request $request)
{
$this->validate($request, [
'title' => 'required',
'content' => 'required',
]);
News::create($request->all());
return redirect()->route('admin.news.index')
->withFlashSuccess(trans('success','News created successfully'));
}
/**
* Display the specified resource.
*
* @param int $news
* @return \Illuminate\Http\Response
*/
public function show($news)
{
$news = News::find($news);
return view('backend.about.news.show',compact('news'));
}
/**
* Show the form for editing the specified resource.
*
* @param int $news
* @return \Illuminate\Http\Response
*/
public function edit($news)
{
$news = News::find($news);
return view('backend.about.news.edit')->with('news', $news);
}
/**
* Update the specified resource in storage.
*
* @param \Illuminate\Http\Request $request
* @param int $news
* @return \Illuminate\Http\Response
*/
public function update(Request $request, $news)
{
$this->validate($request, [
'title' => 'required',
'content' => 'required',
]);
News::find($news)->update($request->all());
return redirect()->route('admin.news.index')
->withFlashSuccess(trans('success','News updated successfully'));
}
/**
* Remove the specified resource from storage.
*
* @param int $news
* @return \Illuminate\Http\Response
*/
public function destroy($news)
{
$news = News::where('id',$news)->first();
if ($news != null)
{
$news->delete();
return redirect()->route('admin.news.index')->withFlashSuccess(trans('Successfully deleted!!'));
}
return redirect()->route('admin.news.index')->withFlashDanger(trans('Wrong ID!!'));
}
}
NewsTableController
<?php
namespace App\Http\Controllers\Backend\About\Tablecontrollers;
use App\Http\Controllers\Controller;
use Yajra\Datatables\Facades\Datatables;
use App\Repositories\Backend\About\NewsRepository;
use App\Http\Requests\Backend\About\ManageNewsRequest;
/**
* Class NewsTableController.
*/
class NewsTableController extends Controller
{
/**
* @var NewsRepository
*/
protected $news;
/**
* @param NewsRepository $about
*/
public function __construct(NewsRepository $news)
{
$this->news = $news;
}
/**
* @param ManageNewsRequest $request
*
* @return mixed
*/
public function __invoke(ManageNewsRequest $request)
{
return Datatables::of($this->news->getForDataTable())
->addColumn('actions', function ($news) {
return $news->action_buttons;
})
->withTrashed()
->make(true);
}
}
NewsRepository
<?php
namespace App\Repositories\Backend\About;
use App\Aboutpages\About;
use App\Repositories\Repository;
use Illuminate\Support\Facades\DB;
use Illuminate\Database\Eloquent\Model;
/**
* Class NewsRepository.
*/
class NewsRepository extends Repository
{
/**
* Associated Repository Model.
*/
const MODEL = News::class;
/**
* @param string $order_by
* @param string $sort
*
* @return mixed
*/
public function getForDataTable()
{
return $this->query()
->select([
config('access.news_table').'.id',
config('access.news_table').'.title',
config('access.news_table').'.content',
config('access.news_table').'.user_id',
]);
}
}
Please or to participate in this conversation.