我刚刚开始学习Laravel框架,我遇到了路由问题.
唯一有效的路线是开箱即用的Laravel附加的默认本地路由.
我在Windows上使用WAMP,它使用PHP 5.4.3和Apache 2.2.22,我也启用了mod_rewrite,并从application.php配置文件中删除了'index.php'以留下空字符串.
我创建了一个名为User的新控制器:
class User_Controller extends Base_Controller {
public $restful = true;
public function get_index()
{
return View::make('user.index');
}
}
Run Code Online (Sandbox Code Playgroud)
我在application/views/user /中创建了一个视图文件,名为index.php,带有一些基本的HTML代码,在routes.php中我添加了以下内容:
Route::get('/', function () {
return View::make('home.index');
});
Route::get('user', function () {
return View::make('user.index');
});
Run Code Online (Sandbox Code Playgroud)
http://localhost/mysite/public在我的Web浏览器中访问root()时,第一条路径工作正常,但是当我尝试转到第二条路径时,http://localhost/mysite/public/user我收到404 Not Found错误.为什么会这样?
我刚刚创建了一个新的Laravel 4项目,并且发现模式构建器的外键方面发生了奇怪的事情.如果我->foreign()在任何迁移中使用该方法,我会抛出MySQL错误150和一般错误1005.根据laravel.com/docs的文档,底部的两个场景应该有效吗?谁知道他们为什么不这样做?
以下工作:
Schema::create('areas', function($table)
{
$table->engine ='InnoDB';
$table->increments('id');
$table->integer('region_id')->references('id')->on('regions');
$table->string('name', 160);
$table->timestamps();
});
Run Code Online (Sandbox Code Playgroud)
但这两个不起作用:
Schema::create('areas', function($table)
{
$table->engine ='InnoDB';
$table->increments('id');
$table->foreign('region_id')->references('id')->on('regions');
$table->string('name', 160);
$table->timestamps();
});
Schema::create('areas', function($table)
{
$table->engine ='InnoDB';
$table->increments('id');
$table->integer('region_id');
$table->foreign('region_id')->references('id')->on('regions');
$table->string('name', 160);
$table->timestamps();
});
Run Code Online (Sandbox Code Playgroud) Laravel 4使我能够轻松高效地开发小规模和企业级应用程序,其模块化概念使我能够扩展核心,构建自定义可重用软件包,并轻松遵循TDD实践.
我一直潜入python(v3)的精彩世界,并想知道python社区中等效的Web框架会是什么?遵循Laravel 4中内置的一些相同核心概念的框架,例如MVC设计模式,简易测试,模块化设计,包等.
有没有办法使用JavaScript获取用户的屏幕尺寸/分辨率?我想你可能不能使用PHP这样做,因为它是服务器端,但由于javascript是客户端我认为它可能是一个选项.
我试图发现有一种方法可以在adj矩阵图中找到最大的连通分量.比如这样:
0000000110
0001100000
0000000000
0100000010
0100000100
0000000100
0000000000
1000110000
1001000000
0000000000
Run Code Online (Sandbox Code Playgroud)
我已经谷歌问了这个问题并且正在努力寻找任何东西,我也读过关于图论的维基文章并且没有快乐.我认为他们必须是一个算法来解决这个问题.任何人都可以指出我正确的方向,并给我一些指示,我自己应该做些什么来解决这个问题?
我最近转换为PHPStorm并且非常喜欢它.我试图让'File Watcher'使用我的LESS代码,我希望它使用lessc命令.我安装了node.js,命令'lessc'可以在windows命令提示符下运行,但它不想在PHPStorm中工作.
这是我对文件观察器的配置:

当文件观察程序运行时,我会连续出现此错误:
执行观察者'LESS'时发生异常.Watcher被禁用.修复它:无法运行程序"C:\ Users\Jason\AppData\Roaming \npm\lessc"(在目录"F:\ Plan2Share_v1\public\css"中):CreateProcess error = 193,%1不是有效的Win32应用
一旦我再次启用观察者,它就会以某种方式禁用并再次抛出上述错误.我是node.js和PHPStorm的新手.任何关于我可能出错的方向都将非常感激.
编辑:关注@ josh3736的方向.我现在在PHPStorm的运行控制台中收到错误.
"C:\Program Files\nodejs\node.exe" C:\Users\Jason\AppData\Roaming\npm\lessc F:\Plan2Share_v1\public\css\style.less
C:\Users\Jason\AppData\Roaming\npm\lessc:2 basedir=`dirname "$0"`
^ SyntaxError: Unexpected token ILLEGAL
at Module._compile (module.js:439:25)
at Object.Module._extensions..js (module.js:474:10)
at Module.load (module.js:356:32)
at Function.Module._load (module.js:312:12)
at Function.Module.runMain (module.js:497:10)
at startup (node.js:119:16)
at node.js:901:3
Run Code Online (Sandbox Code Playgroud) 我在一个新的Laravel 4项目中进行了几次迁移.一个是区域,另一个是区域.每个区域都有许多区域,区域属于区域.
我曾经多次使用过Laravel 4和迁移功能,但之前从未遇到过这个问题.当我运行php artisan migrate:install后,php artisan migrate我得到以下错误:
$ php artisan migrate
[Exception]
SQLSTATE[42000]: Syntax error or access violation: 1072 Key column 'region_
id' doesn't exist in table (SQL: alter table `areas` add constraint areas_r
egion_id_foreign foreign key (`region_id`) references `regions` (`id`)) (Bi
ndings: array (
))
migrate [--bench[="..."]] [--database[="..."]] [--path[="..."]] [--package[="...
"]] [--pretend] [--seed]
Run Code Online (Sandbox Code Playgroud)
//区域迁移
class CreateRegionsTable extends Migration {
/**
* Run the migrations.
*
* @return void
*/
public function up()
{
// …Run Code Online (Sandbox Code Playgroud) 目前我有一个AdminContoller,它有一个构造方法来处理一些之前的过滤器.除了一个控制器方法之外,有没有办法对所有控制器方法进行过滤?
我正在使用Entrust for Roles and Permissions,但是这段代码让我陷入无限重定向循环.我根本没有以用户身份登录.因此,此代码应将我重定向到/ admin/login url,该URL附加到未经过滤的AdminController @ adminLogin方法.但它不是吗?
// AdminController.php文件
class AdminController extends BaseController {
function __construct() {
// Is something like this possible?
$this->beforeFilter('admin', array('except' => array('adminLogin')));
$this->beforeFilter('csrf', array('on' => 'post'));
}
public function index()
{
return "Admin - Index";
}
public function adminLogin()
{
return "Admin Login Form";
}
// ... and many more methods
}
Run Code Online (Sandbox Code Playgroud)
// Filter.php文件
Route::filter('admin', function()
{
if( !Entrust::hasRole('admin') ) // Checks the current user
{
return Redirect::to('/admin/login');
}
});
Run Code Online (Sandbox Code Playgroud)
// Routes.php文件 …
是否可以为Sublime Text 3创建内部图像查看器插件?我注意到在他们的论坛中人们已经提到ST2不可能,因为API不允许访问UI和小部件,但只是想知道ST3是否仍然如此?
我首先从Laravel 4中的一些TDD开始。虽然我了解依赖项注入的基础知识,但我似乎无法理解如何模拟Auth功能。以下是我当前的用户控制器,仅包含index方法及其适用的测试。当我运行phpunit时,当前设置会不断抛出错误,即Auth的“未定义索引”错误。有更好的方法吗?
我的控制器:
class UserController extends \BaseController {
/**
* User instance
*
* @var User
*/
protected $user;
/**
* The master layout that View's will be built upon.
*
* @var string
*/
protected $layout = 'layout.user-master';
/**
* Constructor
*
* @param User $user
* @param View $view
*/
public function __construct(User $user)
{
$this->user = $user;
// Filters
$this->beforeFilter('csrf', array('on' => 'post'));
$this->beforeFilter('auth', array('except' => array('create', 'store')));
}
/**
* Display a listing of the user. …Run Code Online (Sandbox Code Playgroud) 我有一个看起来很简单的要求 - 搜索位置等于$ locationId并具有特定服务($ serviceId)的所有个人资料,但我不知道如何添加where条件通过数据透视表查询?
我的模型如下:
class Profile extends Model {
public function services() {
return $this->belongsToMany('Service', 'profile_services', 'profile_id', 'service_id');
}
}
class Service extends Model {}
Run Code Online (Sandbox Code Playgroud)
我想要做的是这样的事情:
$results = Profile::where('location_id', '=', $locationId)->where('services.id', '=', $serviceId)->get();
Run Code Online (Sandbox Code Playgroud)
注意我知道这->where('services.id', '=', $serviceId)是不正确的(我已经把它放在这里以更好地解释我想要实现的目标)但我想知道我会使用Eloquent或DB查询构建器来做到这一点.
我很难找到我想要运行的查询的答案.我想要
SELECT * FROM users AND tempusers WHERE username='joe'
Run Code Online (Sandbox Code Playgroud)
两个表都有一个名为username的列.我一直受到SQL 1064语法错误的影响,这对我没有多大帮助.
数据库结构:
数据库名称:mydb
表:用户 列:id,用户名,电子邮件,密码.
表:tempusers 列:id,用户名,电子邮件,密码,激活码.