Laravel字符串帮助器返回对象
当我这样做时:Laravel字符串帮助器返回对象,laravel,Laravel,当我这样做时: $test = Test::create([ 'email' => Str::of($this->email)->trim(), ]); dd($test->toArray()); 我明白了: array:14 [▼ "email" => Illuminate\Support\Stringable {#669 ▼ #value: "test@test.com" } ] 问题是,我正在将
$test = Test::create([
'email' => Str::of($this->email)->trim(),
]);
dd($test->toArray());
我明白了:
array:14 [▼
"email" => Illuminate\Support\Stringable {#669 ▼
#value: "test@test.com"
}
]
问题是,我正在将$test
传递给一个事件,在该事件中,例如,当我在Slack通知中发送它时,$event->test->email
为空。我猜是因为它是一个对象而不是字符串
我知道我可以使用PHPstrim()
,但我有一些更复杂的Str帮助程序,我将它们链接起来,这非常有用。如何确保最终结果是一个字符串而不是Stringable
的对象
最好是直接使用
Str::of($this->email)->trim()
,而不是像public string$email这样的操作代码>在事件中,因为如所示,我使用了多个参数,不想单独转换它们。尝试使用(string)
或\u toString()
将其转换为字符串
$test = Test::create([
'email' => (string)Str::of($this->email)->trim(),
]);
$test = Test::create([
'email' => Str::of($this->email)->trim()->__toString(),
]);