我是laravel的新手,我正在尝试安装laravelcollective.我只是想以文件在这里,我使用这个从我的项目目录:
composer require "laravelcollective/html":"^5.4.0"
不幸的是,在我按下后立即出现以下错误:
[UnexpectedValueException]无法解析版本约束:5.4.0:无效的版本字符串":5.4.0"
我只是不知道如何解决这个问题.我在google上找不到太多东西,这与我在laravel上缺乏经验相结合,让我陷入困境.
有人可以帮忙吗?
我的控制器中有两种方法.第一个被调用uploads,它显示数据库表中的所有记录,它看起来像这样:
public function uploads()
{
//return Upload::all();
$uploads = Upload::all();
return view('uploads')->with('uploads',$uploads);
}
Run Code Online (Sandbox Code Playgroud)
此功能正常运行,并且在我的视图中成功检索了所有记录.
问题在于第二种方法upload,其目的是在从上载列表中单击其名称时显示单个上载的数据.
目前,我有这个:
public function upload($id)
{
return Upload::find($id);
}
Run Code Online (Sandbox Code Playgroud)
而且我不确定如何完成此功能.
我的观点看起来像这样:
@extends('layouts.app')
@section('content')
<h1>Uploads</h1>
@if(count($uploads)>0)
@foreach($uploads as $upload)
<div class="well">
<h3><a href="/uploads/{{$upload->id}}">{{$upload->name}}</a> </h3>
<small>Written on {{$upload->created_at}}</small>
</div>
@endforeach
@else
<p>No uploads found</p>
@endif
@endsection
Run Code Online (Sandbox Code Playgroud)
我不太确定要放什么web.php,所以我的路线看起来像这样:
Route::get('/uploads', function () {
return view('uploads');
});
Auth::routes();
Route::get('/uploads','UploadController@uploads')->name('uploads');
Run Code Online (Sandbox Code Playgroud)
有人可以帮助我做这项工作吗?我只想在单击上传名称时看到关联数组与数据库中的记录.在路线和视图中我需要添加什么?
我有三个表:uploads,categories和一个many-to-many称为表category_upload.
表格如下所示:
**categories**
id
name
**uploads**
id
name
downloads(integer)
**category_upload**
id
category_id
upload_id
Run Code Online (Sandbox Code Playgroud)
每次下载"上传"时,下载列中的值都会增加1.
我想做什么,但无法弄清楚如何开始是根据表中的downloads列选择前10个类别uploads.因此,如果downloads列的总数对于来自给定类别的所有上载而言是最大的,则此类别应为第一,依此类推至第十.
这可以通过雄辩或只是SQL来实现吗?任何提示表示赞赏!
以下是我在模型中建立关系的方式:
分类:
public function uploads(){
return $this->belongsToMany('App\Upload');
}
Run Code Online (Sandbox Code Playgroud)
上传:
public function category(){
return $this->belongsToMany('App\Category');
}
Run Code Online (Sandbox Code Playgroud) 我使用自己的(原始)方法来管理用户,而不是laravel multi auth.
我只是在数据库中有一个额外的表,PAdmin在这个表中我有管理员用户的id.
当我登录到应用程序时,我想将管理员用户重定向到另一个页面而不是home页面.
出于这个原因,我去了Http\Middleware\RedirectIfAuthenticated并更改了代码,因此:
public function handle($request, Closure $next, $guard = null)
{
if (Auth::guard($guard)->check()) {
return redirect('/home');
}
return $next($request);
}
Run Code Online (Sandbox Code Playgroud)
我改成了这个:
public function handle($request, Closure $next, $guard = null)
{
$user_id = Auth::id();
$isAdmin = PAdmin::where('user_id',$user_id)->get()->isEmpty();//returns 'true' if empty
if (Auth::guard($guard)->check() && $isAdmin) {//IF $isAdmin is TRUE it means that the user is not admin
return redirect('/home');
}elseif (Auth::guard($guard)->check() && !($isAdmin)){//IF $isAdmin is FALSE it means that the user is not admin …Run Code Online (Sandbox Code Playgroud) 在我的控制器中,我将一系列按字母顺序排列的类别传递给视图,如下所示:
public function index()
{
$categories = Category::orderBy('name', 'asc')->get();
return view('categories')->with('categories',$categories);
}
Run Code Online (Sandbox Code Playgroud)
在我看来,我想在与字母表中的字母相对应的单独列中显示这些类别中的每一个,因此在“A”列中,我将拥有以 A 开头的所有类别,依此类推。
是否可以按字母过滤视图中的结果以实现此目的,如果是,如何进行?