我正在使用 Laravel 5.2。所以我正在学习如何处理角色和权限Authorization。一切都运行良好。我什至制定了自己的政策 PostPolicy。
现在解决问题了。我将 $post 数据加载到 PostsController 中的视图中,然后加载到 Blade 中。
帖子控制器:
public function show($id)
{
$post = Post::find($id);
return view('posts.show', compact('post'));
}
Run Code Online (Sandbox Code Playgroud)
帖子/show.blade.php:
@section('content')
<!-- begin -->
@can('hasRole', Auth::user())
<h1>Displaying Admin content</h1>
@endcan
@can('hasRole', Auth::user())
<h1>Displaying moderator content</h1>
@endcan
@can('hasRole', Auth::user())
<h1>Displaying guest content</h1>
@endcan
Run Code Online (Sandbox Code Playgroud)
政策:
public function hasRole($user)
{
// just for test
return true;
}
Run Code Online (Sandbox Code Playgroud)
现在返回所有内容。
当我将 Auth::user() 更改 @can('hasRole', Auth::user())
为字符串时,即
@can('hasRole', 'guest')
<h1>Displaying guest content</h1>
@endcan
Run Code Online (Sandbox Code Playgroud)
在这种情况下,它不会返回任何内容。由于我是 Laravel 的新手,我真的不知道它不起作用。
实际上,我想搜索用户在选择任何主题或课程后想要搜索的那些问题。
如果whereHas从主题或课程中删除它的作品,但两者都不起作用。
请给出一个更好的解决方案在belongsToMany 中搜索。
我有一个带有Question模型类的问题表
class Question extends Model{
public function courses(){
return $this->belongsToMany('App\Models\Course','course_questions');
}
public function subjects(){
return $this->belongsToMany('App\Models\Subject','subject_questions');
}
}
Run Code Online (Sandbox Code Playgroud)
在我的 searchController
public function index(Request $request){
$questions = Question::with(['user','courses','branches','subjects','years','universities','question_type'])
->where("status","=",1)
->where(function($query) use($request){
$q = $request->q;
if(isset($q) && !is_null($q)){
$query->where("question","LIKE","%$q%");
}
})
->whereHas('subjects',function($query) use($request){
$subjects = $request->subject;
if(isset($subjects)){
$_subjects = explode(" ",$subjects);
$query->whereIn("slug",$_subjects)
->orWhereIn("subject_name",$_subjects);
}
})
->whereHas('courses',function($query) use($request){
$course = $request->course;
if(isset($course)){
$_course = explode(" ",$course);
$query->whereIn("slug",$_course)
->orWhereIn("course",$_course);
}
})
->paginate();
if($request->ajax()){
$returnHTML = view('questions.question_list')->with('questions', …Run Code Online (Sandbox Code Playgroud) 我正在尝试创建一个以前缀"angular"开头的catchall url.我该怎么做呢?
我尝试了以下但不起作用:
Route::group(['prefix' => 'angular'], function () {
Route::get( '{catchall}', function () {
return "YES!"
} )->where('catchall', '(.*)');
});
Run Code Online (Sandbox Code Playgroud) 我有一些必须在表中的数据,以便我的应用程序工作,否则我收到一条错误消息.
例如,如果你或其他任何人从github拉我的应用程序,如果你运行php artisan migrate然后尝试测试应用程序你会得到一个错误:数据不存在或类似的东西.这是因为表中没有数据.
理想的解决方案是运行后:
php artisan migrate
Run Code Online (Sandbox Code Playgroud)
您还可以在该表中获得所需的数据.
这应该用播种机以某种方式完成,但我不知道如何.任何人都可以帮忙并举个例子吗?
如何为应该进入car_company表的数据制作种子:
id car_company
1大众汽车
2辆梅赛德斯
3奥迪
4保时捷
有4行,我想在运行后插入它们
php artisan db:seed
Run Code Online (Sandbox Code Playgroud) 我需要在Laravel SQL查询中添加多个where子句.
到目前为止我的PHP代码已经:
date_default_timezone_set('America/Los_Angeles');
$today = getdate();
$year = $today['year'];
$month = $today['mon'];
$day = $today['mday'];
$today_ = $day.'-'.$month.'-'.$year;
$result = DB::table('task')
->select('*')
->where(
['rowstate', '<>', 'Ready'],
['DATE_FORMAT(due_date, "%d-%m-%y")', '<', $today_])
->get();
Run Code Online (Sandbox Code Playgroud)
但上面的代码返回:
Column not found: 1054 Unknown column '0' in 'where clause'
(SQL: select * from `task_tab` where (`0` = rowstate and `1` = <> and `2` = Ready))
Run Code Online (Sandbox Code Playgroud)
我想生成以下SQl语句:
SELET *
FROM task
WHERE rowstate <> 'Ready'
AND DATE_FORMAT(due_date, "%d-%m-%y") < $today
Run Code Online (Sandbox Code Playgroud) 我是用户项目保存在其中的项目表,并具有 start_time 和 finish_time 以及价格,我将其作为具有以下代码的表单提供:
<div class="form-group">
<input type="date" class="form-control" name="start_time" >
</div>
<div class="form-group">
<input type="date" class="form-control" name="finish_time" >
</div>
<div class="form-group">
<input type="text" class="form-control" name="price" >
</div>
Run Code Online (Sandbox Code Playgroud)
现在,我想减去日期,如果结果为负 可以乘以价格和结果,我该怎么做?
我的网站将发送作业的电子邮件排队到jobs表中。我认为电子邮件服务器存在一些问题,它无法发送电子邮件,因此作业被卡在作业表中。现在也许有太多的工作,并且我收到此错误消息:
Next exception 'Illuminate\Database\QueryException' with message 'SQLSTATE[22003]: Numeric value out of range: 1264 Out of range value for column 'attempts' at row 1 (SQL: update `jobs` set `reserved_at` = 1510263884, `attempts` = 256 where `id` = 342)' in /var/www/vhosts/parcgilley.com/httpdocs/vendor/laravel/framework/src/Illuminate/Database/Connection.php:647
#0 /var/www/vhosts/parcgilley.com/httpdocs/vendor/laravel/framework/src/Illuminate/Database/Connection.php(607): Illuminate\Database\Connection->runQueryCallback('update `jobs` s...', Array, Object(Closure))
#1 /var/www/vhosts/parcgilley.com/httpdocs/vendor/laravel/framework/src/Illuminate/Database/Connection.php(477): Illuminate\Database\Connection->run('update `jobs` s...', Array, Object(Closure))
#2 /var/www/vhosts/parcgilley.com/httpdocs/vendor/laravel/framework/src/Illuminate/Database/Connection.php(416): Illuminate\Database\Connection->affectingStatement('update `jobs` s...', Array)
Run Code Online (Sandbox Code Playgroud)
所以我想知道如何刷新所有排队的作业以清除表?我无法访问数据库以删除表中的数据,因此有命令行吗?我没有失败的队列表。
我有一个 Laravel 应用程序(部署在 heroku 上),我在其中收到了500 Internal Server error.
当我检查我的日志时,我在标题中看到错误方法:
响应头名称“Access-Control-Allow-Origin”包含无效字符,中止请求
我有cors middleware以下代码:
public function handle($request, Closure $next)
{
header('Access-Control-Allow-Origin : *');
header('Access-Control-Allow-Headers : Content-type, X-Auth-Token, Authorization, Origin');
return $next($request);
}
Run Code Online (Sandbox Code Playgroud)
我究竟做错了什么?
我试图拉出所有事件关系的记录,事件日期为今天.我有以下代码:
EventStaffStation::with([
'event' => function($query) {
$query->where('event_date', Carbon::now()->format('d-m-Y'));
}
])->where([
'staff_id' => auth()->user()->id
])->has('event')->get()
Run Code Online (Sandbox Code Playgroud)
这给了我一个记录event_staff_stations但它将事件关系设置为null.如果关系为null,我希望不返回记录.
基本上如果event_staff_station记录不适合今天,那么我不希望它返回.我只对今天活动日的记录感兴趣.
任何帮助表示赞赏.
我在Laravel 5.1上有一个小项目
我将其更新为5.2
现在我从我的模型中得到了这个错误:
Class 'Input' not found
这是代码:
if ( \Input::get('angular') ) { ... }
我在哪里可以找到它?
我是Laravel的新手
而我没有找到它
谢谢您的帮助
laravel ×9
laravel-5 ×9
php ×4
eloquent ×3
laravel-5.2 ×2
laravel-5.4 ×2
date ×1
heroku ×1
laravel-5.1 ×1
laravel-5.7 ×1
mysql ×1
php-carbon ×1
relationship ×1