伙计,这令人沮丧!
在Laravel 4中,使用Eloquent,这有效:var_dump(Worker::find(1));.但是,如果我尝试使用to_array(),它会崩溃:var_dump(Worker::find(1)->to_array());.这会引发以下异常:
call_user_func_array()期望参数1是有效的回调,类'Illuminate\Database\Query\Builder'没有方法'to_array'
我在Laravel 4中有多态关系,它的工作方式与我想要的一样.我有另一个,当我尝试插入相关模型时,它不起作用,即使它与第一个相同,我以相同的方式使用它.
我有Event模特和Article模特:
// Article Model
class Article extends Eloquent {
public function events() {
return $this->morphMany('Event', 'eventable');
}
...
// Event Model
class Event extends Eloquent {
public function eventable() {
return $this->morphTo();
}
}
Run Code Online (Sandbox Code Playgroud)
用法:
$article = Article::find($article_id);
// insert
// neither of the following lines work
$article->events()->create(array("type" => "click"));
$article->events()->save(new Event(array("type" => "click")));
Run Code Online (Sandbox Code Playgroud)
我犯了同样的错误:
Error: Call to undefined method Illuminate\Support\Facades\Event::newQuery() in
\app_path\vendor\laravel\framework\src\Illuminate\Database\Eloquent\Model.php line 383
Run Code Online (Sandbox Code Playgroud)
我究竟做错了什么?我有一个相同的情况与文章和它的照片,但它有效(它也是一个多态关系).
我有一个对象集合,表现得像一个数组.它是一个数据库结果对象.类似于以下内容:
$users = User::get();
foreach ($users as $user)
echo $user->name . "\n";
Run Code Online (Sandbox Code Playgroud)
该$users变量是一个实现对象ArrayAccess和Countable接口.
我想对这个"数组"进行排序和过滤,但我不能在其上使用数组函数:
$users = User::get();
$users = array_filter($users, function($user) {return $user->source == "Twitter";});
=> Warning: array_filter() expects parameter 1 to be array, object given
Run Code Online (Sandbox Code Playgroud)
如何我可以排序和筛选这种类型的对象?
这种情况发生在Linux上,而不是Mac上.当我使用tput setaf然后tput sgr0,光标仍然保留在先前选择的颜色,直到我再次按回车.我可以通过相同的方式重置它echo '',但这并不理想,因为它为我创建了一个新的线.使用printf也没有用.
如何重置shell中的光标颜色?
我有一个应用程序需要从数据库中获取每个视图/请求的菜单.我该怎么办?我想将数据放入每个视图.
我看到有View Composers,但我不能这样做View::composer('*', ...).
我看到了关于Laravel事件的这个问题,但它们是为了Laravel 3.我已经尝试了所有这些,但它们都没有用.这是我的代码global.php:
$event_names = array("laravel.done", "laravel.log", "laravel.query", "laravel.resolving", "laravel.composing", "laravel.started", "laravel.controller.factory", "laravel.config.loader", "laravel.language.loader", "laravel.view.loader", "laravel.view.engine", "view.filter", "eloquent.saving", "eloquent.updated", "eloquent.created", "eloquent.saved", "eloquent.deleting", "eloquent.deleted");
foreach ($event_names as $event_name) {
echo "Listening to {$event_name}<br/>";
Event::listen($event_name, function($event) {
var_dump($event);
exit;
});
}
Run Code Online (Sandbox Code Playgroud)
它刚开始听,但没有事件发生.我已经尝试过自己使用Event::fire()它并且它有效,但显然这不是我想要的.
检查这个jsFiddle.现在CSS动画几乎全面展开,我想在CSS中做这样的事情:当鼠标越过一个元素(.box)时,它会被动画放大,它的中心停留在同一个地方,所有其他元素保持不变他们在哪里.
如果我知道元素的宽度,我想我可以用每个元素的包装元素来做,并使用元素(.box)的相对定位,并为它的宽度,高度,左边和顶部设置动画.但是这个例子有元素变量.
如果不可能,还有其他任何有关此类影响的建议吗?
我有一个表事件,我记录不同类型的事件,例如登录,注册等.这是基于type列.
我想为每种事件类型设置不同的模型(或任何其他合适的解决方案),例如EventLogin.因此,对于每种事件类型,我看起来都有不同的"表",即使它们保存在同一个表中.
编辑:当然,我不想每次都考虑它,即我想做EventLogin->where("user_id", "=", $user->id),而不必担心记住要做->where("type", "=", "login").
可能吗?
当我运行时./manage.py runserver,它经常因为我犯的错误而崩溃,例如复制/粘贴代码并在修改或保存语法错误之前保存.然后我必须重新运行服务器.
有可能以某种方式使服务器仍然运行,然后重新加载我的后续保存,所以我不必再次手动运行服务器?