小编Tom*_*ald的帖子

Laravel检查是否存在相关模型

我有一个Eloquent模型,它有一个相关的模型:

public function option() {
    return $this->hasOne('RepairOption', 'repair_item_id');
}

public function setOptionArrayAttribute($values)
{
    $this->option->update($values);
}
Run Code Online (Sandbox Code Playgroud)

当我创建模型时,它不一定具有相关模型.当我更新它时,我可能会添加一个选项.

所以我需要检查相关模型是否存在,分别更新或创建它:

$model = RepairItem::find($id);
if (Input::has('option')) {
    if (<related_model_exists>) {
        $option = new RepairOption(Input::get('option'));
        $option->repairItem()->associate($model);
        $option->save();
        $model->fill(Input::except('option');
    } else {
       $model->update(Input::all());
    }
};
Run Code Online (Sandbox Code Playgroud)

<related_model_exists>我正在寻找的代码在哪里.

php laravel eloquent laravel-4 laravel-5

128
推荐指数
5
解决办法
11万
查看次数

Laravel更新模型,具有属性的唯一验证规则

我有一个laravel User模型,它具有唯一的验证规则usernameemail.在我的存储库中,当我更新模型时,我重新验证字段,以便不会出现所需规则验证的问题:

public function update($id, $data) {
    $user = $this->findById($id);
    $user->fill($data);
    $this->validate($user->toArray());
    $user->save();
    return $user;
}
Run Code Online (Sandbox Code Playgroud)

这在测试中失败了

ValidationException: {"username":["The username has already been taken."],"email":["The email has already been taken."]}
Run Code Online (Sandbox Code Playgroud)

有没有办法优雅地解决这个问题?

php validation laravel eloquent

61
推荐指数
5
解决办法
10万
查看次数

CodeIgniter和Javascript/Jquery库

正如标题所说,我正在试图弄清楚如何在CI上使用javascript和jquery库.

按照文档中的说明,我在我的控制器中加载库:

$this->load->library('javascript');
Run Code Online (Sandbox Code Playgroud)

然后,我在config.php中定义jQuery文件(jquery.min.js)的位置:

$config['javascript_location'] = 'http://localhost/ci/assets/js/jquery/');
Run Code Online (Sandbox Code Playgroud)

之后,我打开视图文件并输入以下两行:

<?php echo $library_src;?>
<?php echo $script_head;?> 
Run Code Online (Sandbox Code Playgroud)

第一个错误出现在这里:未定义的变量$ library_src和$ script_head(不明白我必须设置它们的位置)

无论如何,我已经评论了这些行并继续使用jquery lib,通过在我的控制器中加载它:

$this->load->library('jquery');
Run Code Online (Sandbox Code Playgroud)

下一个错误:无法加载请求的类:jquery.(似乎它找不到lib,我搞砸了什么?)

检查系统文件夹,它看起来所有文件都已到位:

system/libraries/Javascript.php
system/libraries/javascript/Jquery.php
Run Code Online (Sandbox Code Playgroud)

在此先感谢您的帮助!

javascript php jquery codeigniter libraries

21
推荐指数
3
解决办法
3万
查看次数

如何获取linux内核空间中的当前小时(时间)

我正在编写一个内核模块,用于检查时间是否在两个指定的小时之间,如果是,则禁用输入.这与我想要确保我早点睡觉有关.(我知道我也可以使用任何数量的不同技术,包括cron等,但我想学习内核编程......)

因此,作为第一个版本,我检查当前小时是否在开始和结束之间,这是通过模块的参数设置的.

因此,我的问题是:如何获得当前时间?我无法访问标准库中的常用时间函数,因为我在内核空间中.我猜我应该使用do_gettimeofday()来实现这一点,但这只能给我几秒和几纳秒,而且我在当天需要几个小时.

谢谢.

c linux kernel-module linux-kernel

21
推荐指数
2
解决办法
4万
查看次数

使用CMake编译并添加二进制文件中的目标文件

我正在用C++编写Excel文件构建器.

我有我需要的一切工作,但我仍然依赖一个外部空的.xlsx文件,我解压缩,迭代,并根据需要添加数据来创建最终文件.

我想通过将.xlsx文件转换为可执行文件的.rodata部分中的二进制blob来删除此依赖项,方法是将其首先转换为对象文件,如下所示:

$ ld -r -b binary -o template.o template.xlsx
$ objcopy --rename-section .data=.rodata,alloc,load,readonly,data,contents template.o template.o
Run Code Online (Sandbox Code Playgroud)

我从博客文章http://www.burtonini.com/blog/computers/ld-blobs-2007-07-13-15-50获得了这些信息.

第二步是将它链接到二进制文件,我可以使用它ld.

如何使用CMake自动执行这两个步骤?

我目前不知道如何ld在第一步中运行如上所述的特定命令,并且我已尝试在第二步中添加files/template.o到我的target_link_libraries,但ld只是说:

/usr/bin/ld: cannot find -lfiles/template.o
Run Code Online (Sandbox Code Playgroud)

我将以下自定义命令添加到我的CMakeLists.txt:

add_custom_command(OUTPUT files/template.o
      COMMAND ld -r -b binary -o files/template.o files/template.xlsx
      COMMAND objcopy --rename-section .data=.rodata,alloc,load,readonly,data,contents files/template.o files/template.o)
Run Code Online (Sandbox Code Playgroud)

并将文件/ template.o添加到add_executable调用.

不幸的是,CMake说:

ld:无法打开输出文件files/template.o:没有这样的文件或目录

据我所知,OUTPUT命令add_custom_command允许我们告诉CMake COMMAND命令正在创建什么文件.所以我现在有点困惑.

我更新了CMakeLists.txt文件并添加了一个目标,以确保模板文件已构建:

add_custom_target(run ALL
    DEPENDS template.o)
Run Code Online (Sandbox Code Playgroud)

并且依赖于确保它在excelbuilder目标之前构建:

add_dependencies(excelbuilder run)
Run Code Online (Sandbox Code Playgroud)

我还更新了自定义命令,如下所示:

add_custom_command(OUTPUT template.o
      COMMAND ld -r -b binary -o template.o …
Run Code Online (Sandbox Code Playgroud)

c++ cmake ld

20
推荐指数
1
解决办法
1万
查看次数

TextView不会将其内容集中在一起

<TextView
        android:layout_height="30dp"
        android:text="@string/list_title"
        android:layout_gravity="center"
        android:layout_width="fill_parent"
        android:textSize="@dimen/title_size"
        android:textAlignment="center"
        android:layout_alignParentTop="true"
        android:background="@color/white"
        android:id="@+id/list_title"
        />
Run Code Online (Sandbox Code Playgroud)

是RelativeLayout中的第一个元素:

<RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android"
    xmlns:tools="http://schemas.android.com/tools"
    android:orientation="vertical"
    android:layout_width="fill_parent"
    android:layout_height="fill_parent"
    android:gravity="center">
Run Code Online (Sandbox Code Playgroud)

但TextView中的文本不会居中.我无法理解为什么所有的重力和textAlignment财产都被设定为"中心".

我究竟做错了什么?

android

8
推荐指数
1
解决办法
3890
查看次数

如何在C#中获取SharePoint术语的所有子项?

我正在为SharePoint 2010编写一个webpart,根据发布日期恢复某个(自定义)类型的最新页面.它仅考虑使用指定术语标记的页面.我希望它能够使用标记有所选术语的子项的页面来执行此操作.

如果我有这样的术语树:

  • 英国
    • 肯特
      • 多佛
      • 坎特伯雷
    • 萨里
      • 克罗伊登
      • 克劳利

然后通过选择Kent,我希望我的webpart显示标记为Kent,Dover或Canterbury的最新页面.

这可能在C#中吗?

谢谢你的时间.

c# sharepoint web-parts sharepoint-2010

7
推荐指数
1
解决办法
2万
查看次数

Laravel获得相关模型的相关模型

我有一个与车辆相关联的RepairRequest模型.

class RepairRequest extends \Eloquent {
    public function vehicle() {
        return $this->belongsTo('Vehicle');
    }
}


class Vehicle extends \Eloquent {
    public function requests() {
        return $this->hasMany('RepairRequest');
    }
}
Run Code Online (Sandbox Code Playgroud)

我想获得与给定RepairRequest相关联的车辆的所有RepairRequests,所以我这样做

return RepairRequests::find($id)->vehicle->requests;
Run Code Online (Sandbox Code Playgroud)

这很好用.

但是,RepairRequests有RepairItems:

// RepairRequest class
public function repairItems() {
    return $this->hasMany('RepairItem', 'request_id');
}

// RepairItem class
public function request() {
    return $this->belongsTo('RepairRequest', 'request_id');
}
Run Code Online (Sandbox Code Playgroud)

我也想回来,所以我这样做

return RepairRequests::find($id)->vehicle->requests->with('repairItems');
Run Code Online (Sandbox Code Playgroud)

但我得到以下异常:

Call to undefined method Illuminate\Database\Eloquent\Collection::with()
Run Code Online (Sandbox Code Playgroud)

我怎么写这个,以便返回的json包含RepairRequest json中的RepairItems?

php rest laravel eloquent laravel-4

7
推荐指数
1
解决办法
7484
查看次数

ld的数据文件使数据大小为*ABS*而不是整数

我有一个c ++程序,它包含对空​​xlsx文件的外部依赖.要删除此依赖项,我将此文件转换为二进制对象,以便直接链接它,使用:

ld -r -b binary -o template.o template.xlsx
Run Code Online (Sandbox Code Playgroud)

其次是

objcopy --rename-section .data=.rodata,alloc,load,readonly,data,contents template.o template.o
Run Code Online (Sandbox Code Playgroud)

使用objdump,我可以看到声明的三个变量:

$ objdump -x template.o

template.o:     file format elf64-x86-64
template.o
architecture: i386:x86-64, flags 0x00000010:
HAS_SYMS
start address 0x0000000000000000

Sections:
Idx Name          Size      VMA               LMA               File off  Algn
  0 .rodata       00000fd1  0000000000000000  0000000000000000  00000040  2**0
                  CONTENTS, ALLOC, LOAD, READONLY, DATA
SYMBOL TABLE:
0000000000000000 l    d  .rodata        0000000000000000 .rodata
0000000000000fd1 g       *ABS*  0000000000000000 _binary_template_xlsx_size
0000000000000000 g       .rodata        0000000000000000 _binary_template_xlsx_start
0000000000000fd1 g       .rodata        0000000000000000 _binary_template_xlsx_end
Run Code Online (Sandbox Code Playgroud)

然后我告诉我的程序有关这些数据:

template.h:
#ifndef …
Run Code Online (Sandbox Code Playgroud)

c c++ variables pointers ld

5
推荐指数
1
解决办法
298
查看次数

使用勾选框扫描并阅读文档

我有一个客户的要求,他们希望为不同地区的老人提供膳食.为此,人们根据每天的选择填写一周的表格并勾选方框(它还考虑了具体要求).

例如 :

 Name
 Commune

                  With salt ( )      Without salt []

Mon :       Meal 1 ( )                   Meal 2 ( )
           Dessert 1 ( )                 Dessert ( )

Tues :       Meal 1 ( )                   Meal 2 ( )
           Dessert 1 ( )                 Dessert ( )
Run Code Online (Sandbox Code Playgroud)

然后应编制每张纸上的数据,告诉我们每个社区每天要准备多少种膳食...

这些表都是一样的,所以我希望能够扫描它们并自动读取它们.

我不知道任何允许我这样做的软件.完成此任务的最佳方法是什么?目前我正在研究tesseract,但也许有一些更简单的技术?

编辑:我们每周谈论几百个表格.理想情况下,我们将同时扫描它们,提取数据并以电子方式存储表格.

ocr

5
推荐指数
1
解决办法
4500
查看次数