我在我的数据库中创建了一些日期时间字段,正如Laravel文档中所述,我可以"自定义哪些字段会自动变异".然而,没有示例显示如何完成,也没有任何搜索结果.我应该怎么做才能使某些字段自动变异?
例如,我在迁移中创建了一个名为"people"的表,其中一个字段定义如下:
class CreatePeopleTable extends Migration {
public function up(){
Schema::create("bookings",function($table){
...
$table->dateTime("birthday");
...
}
}
}
Run Code Online (Sandbox Code Playgroud)
我在模型中为"人"定义了一个模型:
class People extends Eloquent{
//nothing here
}
Run Code Online (Sandbox Code Playgroud)
如果我引用People实例的生日,它将是字符串,而不是DateTime
$one=People::find(1);
var_dump($one->birthday);
//String
Run Code Online (Sandbox Code Playgroud)
日期变更器应该能够将它直接转换为Carbon对象,但是文档并没有说明应该如何实现它.
我有一个Product属于a的模型Trend:
class Product extends Eloquent {
public function trend()
{
return $this->belongsTo('Trend');
}
}
Run Code Online (Sandbox Code Playgroud)
作为验证规则的一部分,我想检查这种关系是否存在,如果没有触发错误,请使用:
$validator = Validator::make(Input::all(), $rules, $messages);
if ($validator->fails())
{
... some redirection code here
Run Code Online (Sandbox Code Playgroud)
叫做.我曾尝试使用验证存在像下面,但它永远不会触发.
$rules = array(
'brand_name' => 'required|min:3',
'blurb' => 'required',
'link' => 'required',
'trend' => 'exists:trends'
);
Run Code Online (Sandbox Code Playgroud)
我也尝试过这种exists方法的一些变化,但似乎没有任何东西可以解雇.我知道我正在测试的实例肯定没有关系集.
我在这做错了什么?
编辑:我现在看到输入这个,我正在验证输入而不是模型值.我如何实际验证模型实例的属性呢?
我在php(preg_match_all)中使用正则表达式时遇到了一些麻烦.
我使用以下代码查找由<>:封装的电子邮件,即:
preg_match_all("<[_a-z0-9-]+(\.[_a-z0-9-]+)*@[a-z0-9-]+(\.[a-z0-9-]+)*(\.[a-z]{2,3})>:", $body,$matches);
Run Code Online (Sandbox Code Playgroud)
出于某种原因,PHP在冒号处爆炸,出现以下错误:
警告:preg_match_all()[function.preg-match-all]:未知修饰符':'in ...
任何帮助都将非常感激,因为我不是正则表达的大师,而且我只是脱毛了.
我只想将文本阴影应用于<span>Internet Explorer 6-9中的元素.我正在使用以下CSS代码.
.dropShadow { filter: dropshadow(color=#ffff00,offX=5,offY=5); }
.glow { filter: glow(color=#ff0000); }
.shadow { filter: shadow(color=#00ff00); }
Run Code Online (Sandbox Code Playgroud)
使用此HTML:
<span class="dropShadow">span with dropShadow</span>
<p class="dropShadow">paragraph dropShadow</p>
<span class="glow">span with glow</span>
<p class="glow">paragraph with glow</p>
<span class="shadow">span with shadow</span>
<p class="shadow">paragraph with shadow</p>
Run Code Online (Sandbox Code Playgroud)
结果是只有<p>元素才会收到dropShadow,glow和shadow样式.但是<span>不会应用样式.为什么?
我有以下HTML标记,其结果是text类型的输入表单元素.
<!DOCTYPE html>
<html>
<body>
<input type="text" />
</body>
</html>
Run Code Online (Sandbox Code Playgroud)
在一个体面的浏览器中,它呈现如下面的屏幕截图(右侧是缩放的图像):

那么,为什么在检查<input>元素时浏览器显示边框宽度为2px?我们可以在视觉上欣赏输入元素有1个像素.即使使用jQuery,当我做类似的东西jQuery('input').css('border-width')时吐出2px.
当然,这只是在没有样式的输入元素的情况下发生的.
我还创建了一个JsFiddle演示:http://jsfiddle.net/HBDUZ/
谢谢!
是否可以阻止 SASS 合并通过@import?
对于开发,我想维护原始 CSS 的引用(在我已经从 SASS 编译的设置中)。
我有一种情况,我需要限制用户在TextBox的开头输入空格.我能够限制TextBox中的空格条目.但没有任何关于不允许在第一个位置的线索.
我正在寻找使用JavaScript或jQuery的解决方案.任何帮助,将不胜感激.
我正在尝试用Laravel创建一个"循序渐进"的表单.我遇到的麻烦是如何让用户"退回"并编辑以前提交的表单部分.
我正在做常规验证,这是表单字段的一个例子:
{{ Form::text('title', Input::old('title') }}
然后,如果该特定步骤的表单通过验证,则它将作为数组保存在会话中,并且用户将被带到表单的下一部分.
希望我想拥有一个"后退"按钮,每个步骤都可以返回上一步更改它.问题是我有Input::old()输入的value参数.
我可以做的一件事是分配一个像"current"这样的变量并将其设置为该特定步骤的会话,因此我的输入语法如下所示:
{{ Form::text('title', (!empty($current)) ? $current['title'] : Input::old('title')) }}
有没有更好的方法呢?
我想计算属于标签的帖子数量.我应该使用方法还是动态属性?
<?php
class Tag extends Eloquent {
public function posts()
{
return $this->belongsToMany('Post');
}
public function postsCount()
{
return count($this->posts);
}
public function getPostsCountAttribute()
{
return count($this->posts);
}
}
Run Code Online (Sandbox Code Playgroud)
所以在模板中我应该使用动态属性:
{{ $tag->postCount }}
Run Code Online (Sandbox Code Playgroud)
或方法:
{{ $tag->postCount() }}
Run Code Online (Sandbox Code Playgroud)