我无法启动并运行Laravel 5.0的测试实例,因此我可以协助进行此转换.
1)从https://github.com/laravel/laravel/tree/develop创建新应用程序会导致运行时出现以下错误composer install.
{"error":
{"type":"ErrorException",
"message":"Undefined index: timezone",
"file":"\/Projects\/indatus\/dispatcher-test-app\/vendor\/laravel\/framework\/src\/Illuminate\/Foundation\/start.php",
"line":167}
}
{"error":
{"type":"ErrorException",
"message":"Undefined index: timezone",
"file":"\/Projects\/indatus\/dispatcher-test-app\/vendor\/laravel\/framework\/src\/Illuminate\/Foundation\/start.php",
"line":167}}
Run Code Online (Sandbox Code Playgroud)
我完全错过了什么吗?
更新:这个问题/答案仅在Laravel 5处于开发阶段时才有意义.您现在应该参考Laravel文档来了解如何安装Laravel
我想将我的应用程序分成模块.例如,会有一个"核心"模块,其中包含基本登录功能,应用程序布局/格式(CSS等),用户管理和日记.
稍后我可以创建其他模块,如联系人管理器,可以轻松地从应用程序中添加或删除.
应用程序导航中会有一些逻辑用于确定存在哪些模块以及显示/隐藏指向它们的链接.
我如何在目录结构,命名空间和其他任何需要的方面做到这一点?
我正在看creolab/laravel-modules,但是它说它适用于Laravel 4.我还能以完全相同的方式使用它吗?
文档说在每个模块目录中放置模型,控制器和视图,但这如何与路由一起使用?理想情况下,我希望每个模块都有自己的routes.php文件.如何将所有的东西这项工作http和resources目录?
我在考虑这样的事情:

但我不知道如何让它发挥作用.
我刚刚在这里尝试了教程:
http://creolab.hr/2013/05/modules-in-laravel-4/
没有额外的库等,只需要纯粹的Laravel 5.
我似乎碰到了一堵砖墙,上面写着错误信息:
FatalErrorException in ServiceProvider.php line 16:
Call to undefined method Illuminate\Config\Repository::package()
Run Code Online (Sandbox Code Playgroud)
关于以下内容:
<?php namespace App\Modules;
abstract class ServiceProvider extends \Illuminate\Support\ServiceProvider
{
public function boot()
{
if ($module = $this->getModule(func_get_args())) {
$this->package('app/' . $module, $module, app_path() . '/modules/' . $module);
}
}
public function register()
{
if ($module = $this->getModule(func_get_args())) {
$this->app['config']->package('app/' . $module, app_path() . '/modules/' . $module . '/config');
// Add routes …Run Code Online (Sandbox Code Playgroud) 我一直在尝试使用与Laravel 5的新Flysystem集成.我正在将"本地化"路径存储到数据库,并使存储外观完成路径.例如,我存储screenshots/1.jpg和使用
Storage::disk('local')->get('screenshots/1.jpg')
Run Code Online (Sandbox Code Playgroud)
要么
Storage::disk('s3')->get('screenshots/1.jpg')
Run Code Online (Sandbox Code Playgroud)
我可以在不同的磁盘上检索相同的文件.
get 检索文件内容,但我希望在我的视图中使用它,如下所示:
<img src="{{ Storage::path('screenshots/1.jpg') }}" />
Run Code Online (Sandbox Code Playgroud)
但路径,或任何能够检索完整路径的东西都不可用(据我所见).那我怎么能回到完整的路径呢?或者,我想知道这是否是设计的?如果是这样,为什么我不应该能够获得完整的路径?或者,我是否完全以错误的方式解决这个问题?
这些方法有什么区别
我一直在使用它们,每个都给出了不同的结果,有时我需要find()在结尾处添加,findOrFail()因为我的函数期待一个数组.其他方法也不会产生数组吗?
我正在对用户执行权限检查以确定他们是否可以查看页面.这涉及首先通过一些中间件传递请求.
我遇到的问题是我在将数据返回到视图本身之前,在中间件和控制器中复制相同的数据库查询.
以下是设置示例;
- routes.php
Route::get('pages/{id}', [
'as' => 'pages',
'middleware' => 'pageUser'
'uses' => 'PagesController@view'
]);
Run Code Online (Sandbox Code Playgroud)
- PageUserMiddleware.php(类PageUserMiddleware)
public function handle($request, Closure $next)
{
//get the page
$pageId = $request->route('id');
//find the page with users
$page = Page::with('users')->where('id', $pageId)->first();
//check if the logged in user exists for the page
if(!$page->users()->wherePivot('user_id', Auth::user()->id)->exists()) {
//redirect them if they don't exist
return redirect()->route('redirectRoute');
}
return $next($request);
}
Run Code Online (Sandbox Code Playgroud)
- PagesController.php
public function view($id)
{
$page = Page::with('users')->where('id', $id)->first();
return view('pages.view', ['page' => $page]); …Run Code Online (Sandbox Code Playgroud) 我正在使用Eloquent ORM laravel 5.1,我想返回一个大于0的id数组,我的模型叫做test.
我试过了 :
$test=test::select('id')->where('id' ,'>' ,0)->get()->toarray();
Run Code Online (Sandbox Code Playgroud)
它返回:
Array ( [0] => Array ( [id] => 1 ) [1] => Array ( [id] => 2 ) )
Run Code Online (Sandbox Code Playgroud)
但我希望结果是简单的数组,如:
Array ( 1,2 )
Run Code Online (Sandbox Code Playgroud) 我正在设置我的离线作业服务器.我已经阅读了文档,但我仍然没有看到两个命令之间的差异:artisan queue:work --daemon和artisan queue:listen.我应该使用哪个命令来运行我的守护进程?
当我想在我的laravel项目中注册用户时,页面总是说
未定义的变量:错误(查看:/var/www/resources/views/auth/register.blade.php)"
根据Laravel文档,$errors应始终自动设置:
因此,重要的是要注意每个请求的所有视图中都会提供$ errors变量,这样您就可以方便地假设$ errors变量始终定义并且可以安全使用.
我使用时在每个视图上都有这个:
@if (count($errors) > 0)
<div class="alert alert-danger">
<ul>
@foreach ($errors->all() as $error)
<li>{{ $error }}</li>
@endforeach
</ul>
</div>
@endif
Run Code Online (Sandbox Code Playgroud)
或者当我想使用$errors变量时的任何其他方式.
为什么是这样?我之前从未遇到过这个问题.
有谁可以帮助我吗?
laravel laravel-5 laravel-validation laravel-middleware laravel-5.2
我正在尝试使用电子邮件作为我的表的主键,所以我雄辩的代码是 -
<?php
namespace App;
use Illuminate\Database\Eloquent\Model;
class UserVerification extends Model
{
protected $table = 'user_verification';
protected $fillable = [
'email',
'verification_token'
];
//$timestamps = false;
protected $primaryKey = 'verification_token';
}
Run Code Online (Sandbox Code Playgroud)
我的DB就像这样 -
但如果我这样做 -
UserVerification::where('verification_token', $token)->first();
Run Code Online (Sandbox Code Playgroud)
我得到这个 -
{
"email": "sdfsdf@sdfsdf.sdf",
"verification_token": 0,
"created_at": "2016-01-03 22:27:44",
"updated_at": "2016-01-03 22:27:44"
}
Run Code Online (Sandbox Code Playgroud)
因此,验证令牌/主键变为0.
有人可以帮忙吗?
我http://localhost/laravel/public/说,当我将它运行到浏览器时,我通过克隆git和composer安装来正确安装Laravel 5.0
"哎呀,看起来像出事了."
作曲家安装后我没有做任何改动.
将env.example复制到.env后更新这是结果
compile.php第5599行中的RuntimeException:需要OpenSSL扩展名.
laravel-5 ×10
laravel ×8
php ×8
eloquent ×2
composer-php ×1
flysystem ×1
laravel-4 ×1
laravel-5.2 ×1
model ×1
mysql ×1