Laravel关系返回1表示输入值

时间:2015-08-04 11:05:13

标签: php laravel-4 relationship

我有一个文字输入:

{{ Form::text('first_name',  $car->basicCustomer->first_name or NULL, ['class' => 'form-control', 'disabled']) }}

哪个应返回名字,而输入的值为1.

死亡和倾销时的关系回归:

object(Customer)#805 (20) {
  ["connection":protected] "main_site"
  ["fillable":protected] array(8) {
    [0] "title"
    [1] "first_name"
    [2] "last_name"
    [3] "email"
    [4] "telephone_number"
    [5] "address"
    [6] "post_code"
    [7] "company_name"
  }
  ["table":protected] NULL
  ["primaryKey":protected] "id"
  ["perPage":protected] 15
  ["incrementing"] true
  ["timestamps"] true
  ["attributes":protected] array(3) {
    ["first_name"] "John"
    ["last_name"] "Doe"
    ["id"] "19854"
  }
  ["original":protected] array(3) {
    ["first_name"] "John"
    ["last_name"] "Doe"
    ["id"] "19854"
  etc...

即使调用last_name等,输入中的值也始终为1。

有什么想法发生了?

编辑:通过运气修复错误,需要使用以及是否在另一个视图中检查关系是否为空:

{{ Form::text('first_name', (!$car->basicCustomer ? NULL : $car->basicCustomer->first_name), ['class' => 'form-control', 'disabled']) }}

现在输出名称,任何人都可以解释为什么:

或NULL

没有工作?

1 个答案:

答案 0 :(得分:1)

or NULL被解释为条件表达式。它返回true(1)或false(0)。

'test' or null :    
boolean true

'' or null :    
boolean false

true or null :
boolean true

false or null :    
boolean false

在您的情况下,您可以使用?:运算符。

$string ?: null    

的缩写版本
$string ? $string : null