我在 Seeder 中使用 Faker 包为训练事件生成假数据。
每个事件都有starts_at和ends_at字段。我想在生成的ends_at字段DateTime之后填充字段starts_at,最好是 1 到 8 小时,甚至固定的 1 小时差异也可以。
我需要一些帮助.例:
$table->text('description');
Run Code Online (Sandbox Code Playgroud)
但是,如果我想要我的数据类型是'LONGTEXT',如何编码/写入?
我无法找到关于这个@ http://laravel.com/docs/schema的文档
谢谢!
我基本上想要的是用户权限.
我的数据库中有一个名为'accounts'的表.有一个名为'group_id'的列.我想在'group_id'= 3时设置它,然后用户是admin.然后他可以查看特殊网站,按钮和类似的东西.我试图实现类似的东西:
public function ($roleName) {
$role = $this->roles;
if ($role->name == $roleName) {
return true;
}
return false;
}
Run Code Online (Sandbox Code Playgroud)
此外,我不知道该模型需要什么以及如何,我需要一个新的和类似的东西.
我正在尝试模拟Ardent包正在做什么.这是在保存之前验证模型.
我创造了这个BaseModel(根据Laravel Testing decoded书).并添加了此代码:
class BaseModel extends Eloquent {
protected static $rules = [];
public $errors = [];
public function validate(){
$v = Validator::make($this->attributes, static::$rules);
if($v->passes()) {
return true;
}
$this->errors = $v->messages();
return false;
}
public static function boot(){
parent::boot();
static::saving(function($model){
if($model->validate() === true){
foreach ($model->attributes as $key => $value) {
if(preg_match("/[a-zA-Z]+_confirmation/", $key)){
array_splice($model->attributes, array_search($key, array_keys($model->attributes)), 1);
}
}
echo "test"; //This is for debugging if this event is fired or not
return …Run Code Online (Sandbox Code Playgroud) 我有一个复选框,我想让我的复选框默认选中,如果用户取消选中复选框并保存表单,我需要在检索或编辑表单数据时取消选中该复选框。
我的查看页面
<div class="form-group {{ $errors->has('active') ? 'error' : '' }}">
<label for="active" class="col-md-3 control-label">@lang('admin/assetdetails/form.active')</label>
<div class="controls col-md-7">
{{ Form::checkbox('active', 1, Input::old('active', $assetdetail->active), array('class'=>'isnesdbox')) }}
{{ $errors->first('active', '<span class="alert-msg"><i class="icon-remove-sign"></i> :message</span>') }}
</div>
</div>
Run Code Online (Sandbox Code Playgroud)
给这个正确地从数据库中带回旧数据,但我无法将我的复选框选中为默认值
控制器:
public function postEdit($assetdetailId = null)
{
// Check if the location exists
if (is_null($assetdetail = Assetdetail::find($assetdetailId)))
{
// Redirect to the blogs management page
return Redirect::to('admin/settings/assetdetails')->with('error', Lang::get('admin/assetdetails/message.does_not_exist'));
}
// get the POST data
$new = Input::all();
// attempt validation
if ($assetdetail->validate($new))
{
// Update …Run Code Online (Sandbox Code Playgroud) 我在MS Access上有以下查询(简化):
SELECT * FROM table1 WHERE table1.ID NOT IN (SELECT DISTINCT table1id FROM table2);
Run Code Online (Sandbox Code Playgroud)
我的问题是它不起作用,但这两个工作:
SELECT * FROM table1 WHERE table1.ID IN (SELECT DISTINCT table1id FROM table2);
SELECT * FROM table1 WHERE table1.ID NOT IN (2, 3);
Run Code Online (Sandbox Code Playgroud)
第一个只是给我一个空集,而我知道我有table11到9的id 记录,表2中只有2和3.
有帮助吗?
我的控制器上的以下代码段有问题:
$opportunity_date = $oppr_arr->opportunity_date;
$locations_array_result = explode(",",$locations_array_result);
$usersCount = User::where('activated', '=', 1)
->where('group_id', '=', 1)
->where('availability_date', '<=', $opportunity_date)
->get();
foreach ($locations_array_result as $param) {
$usersCount = $usersCount->whereHas('desiredLocation', function ($q) use($param) {
$q->where('location_id', '=', $param );
});
}
$usersCount = $usersCount->count();
Run Code Online (Sandbox Code Playgroud)
当我运行它时,它给了我以下错误:
Call to undefined method Illuminate\Database\Eloquent\Collection::whereHas()
Run Code Online (Sandbox Code Playgroud)
我的人际关系是这样建立的:
用户模型
public function desiredLocation() {
return $this->belongsToMany('Location', 'user_desired_location');
}
Run Code Online (Sandbox Code Playgroud)
位置模型
class Location extends \Eloquent {
protected $table = 'locations';
protected $fillable = array('name');
public function country() {
return $this->belongsTo('Country');
}
}
Run Code Online (Sandbox Code Playgroud)
user_desired_location表的数据库结构是: …
我正在尝试制作一个有2个或更多布局的网站,任何用户都可以更改他/她的布局.
我知道我们可以在控制器中使用布局,例如
public $ layout ='layouts.default'; ...和方法$ this-> layout-> nest('content',$ view,$ data);
但这对我来说没用,它总是默认的,我的意思是如何动态地改变$ layout的值?
例如,用户视图网站作为默认布局,但用户b将其视为黑色布局.
------------已编辑
我将布局存储在用户表中,但问题是如何在控制器中添加条件语句?存储布局名称的$ laravel变量是一个属性,只能在代码中设置一次,不能在任何方法之外添加语句来更改它.
我正在尝试在 JNA 中使用以下 Windows API:
UINT WINAPI GetRawInputDeviceList(
_Out_opt_ PRAWINPUTDEVICELIST pRawInputDeviceList,
_Inout_ PUINT puiNumDevices,
_In_ UINT cbSize
);
Run Code Online (Sandbox Code Playgroud)
UINT cbSize 是 RAWINPUTDEVICELIST 结构的大小,以字节为单位。如何在JNA中知道它?我偶然发现 16 是一个正确的值。
结构如下:
typedef struct tagRAWINPUTDEVICELIST {
HANDLE hDevice;
DWORD dwType;
} RAWINPUTDEVICELIST, *PRAWINPUTDEVICELIST;
Run Code Online (Sandbox Code Playgroud)
pRawInputDeviceList 是一个 RAWINPUTDEVICELIST 结构数组,因此在 JNA 中我声明了以下签名:
UINT GetRawInputDeviceList(PointerByReference pRawInputDeviceList, IntByReference puiNumDevices, UINT cbSize);
Run Code Online (Sandbox Code Playgroud)
这是我在 JNA 中的结构:
public static class RawInputDeviceList extends Structure {
public HANDLE hDevice;
public DWORD dwType;
public RawInputDeviceList() {
// required for toArray()
}
public RawInputDeviceList(Pointer pointer) {
super(pointer);
read(); …Run Code Online (Sandbox Code Playgroud) 我正在尝试实现Laravel Auth Token(https://github.com/tappleby/laravel-auth-token),到目前为止它安装正常,但是当我尝试POST一个用户名/密码时,它就失败了.我已将此问题追溯到此:
Argument 1 passed to Illuminate\Auth\EloquentUserProvider::validateCredentials() must be an instance of Illuminate\Auth\UserInterface, instance of User given
Run Code Online (Sandbox Code Playgroud)
基本上代码运行:
$user = $this->users->retrieveByCredentials($credentials);
Run Code Online (Sandbox Code Playgroud)
..检索用户(工作原理:返回用户模型).然后运行:
$this->users->validateCredentials($user, $credentials)
Run Code Online (Sandbox Code Playgroud)
这就是崩溃发生的地方.我检查了我的用户模型,顶部是:
use Illuminate\Auth\UserInterface;
use Illuminate\Auth\Reminders\RemindableInterface;
class User extends Eloquent {
...
}
Run Code Online (Sandbox Code Playgroud)
我认为这会使我的User模型成为UserInterface的一个实例,对吧?
有没有办法检查我的用户可以代表什么实例,和/或调试UserInterface没有应用的原因?
我试图通过这种方式验证由字母,数字和空格组成的字段:
$rules = array(
'field'=> 'regex:/([A-Za-z0-9 ])+/'
);
Run Code Online (Sandbox Code Playgroud)
但如果我尝试插入像"和其他"这样的字符,验证仍然必须成功.
我的正则表达式有什么不对?