小编Isr*_*uño的帖子

空字符串而不是空值Eloquent

我正在尝试使用质量分配Eloquent功能创建实体...

$new = new Contact(Input::all());
$new->save();
Run Code Online (Sandbox Code Playgroud)

问题是这样,每个字段用空字符串填充而不是null我预期的值.

我正在开发系统,但仍然没有定义一些表列,这就是为什么使用这种方法,以避免将每个新字段添加到$fillable数组和new Contact(array(...));...

此外,我在这个表中有大约20个字段,所以有一个像这样的数组有点难看

$new = new Contact(array(
    'salutation' => Input::get('salutation'),
    'first_name' => Input::get('first_name'),
    'last_name'  => Input::get('last_name'),
    'company_id' => Input::get('company_id'),
    'city' => ...
    ...
));
Run Code Online (Sandbox Code Playgroud)

有关如何执行此操作或修复的任何提示?

更新到现在为止,我已经整理了App::before()过滤器中的array_filter .

更新过滤器有点乱.我最终做了:

public static function allEmptyIdsToNull()
{
    $input = Input::all();

    $result = preg_grep_keys ( '/_id$/' , $input );

    $nulledResults = array_map(function($item) {
        if (empty($item))
            return null;

        return $item;
    }, $result);

    return array_merge($input, $nulledResults);
}
Run Code Online (Sandbox Code Playgroud)

在我的functions.php中.

if ( …
Run Code Online (Sandbox Code Playgroud)

php laravel laravel-4

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

与命名空间的多态Eloquent关系

我试图实现多态关系.它们完美地工作......但是,我正在尽可能地减少我的数据库大小......所以我就是这样

Table action
|  id  |  realatable_type  |  relatable_id
|  1   |  Lion\People      |  65
|  2   |  Lion\Company     |  13
Run Code Online (Sandbox Code Playgroud)

显然我是这样的

<?php namespace Lion;

class Company extends \Eloquent { ... }
class People extends \Eloquent { ... }
Run Code Online (Sandbox Code Playgroud)

假设命名空间总是"狮子",有没有办法只存储"人"或"公司"?

polymorphism laravel eloquent laravel-4

10
推荐指数
1
解决办法
3393
查看次数

如何知道视图中是否设置了变量

我想知道是否有办法知道视图中是否存在变量.

我正在为我的应用主题创建自定义表单的构建器,并且我想将$errors变量包含在HTML标记中.有什么方法可以知道它以前是否在视图中设置了?

更新 我的意思是如何访问视图外的视图var.如何从其他地方访问$ errors var,例如一个包.

我目前正在创建自定义表单构建器:

{{ MyFormBuilder::text('name', 'value', array()) }}
Run Code Online (Sandbox Code Playgroud)

它应该打印

<input name="name" value="value" ... />
<p>ERRORS NAME REQUIRED</p>
Run Code Online (Sandbox Code Playgroud)

<p>仅当发现错误验证此字段时,错误才会标记.text()如果出现错误,我想从我的函数中查看$errors.

我已尝试global $errors在我的功能中使用,但它不起作用......

我希望它更清楚一些;)

解决了 使用Session::get('errors');; D感谢@machuga.

php laravel laravel-4

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

标签 统计

laravel ×3

laravel-4 ×3

php ×2

eloquent ×1

polymorphism ×1