我有一个文字输入:
{{ 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
没有工作?
答案 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