Warning: file_get_contents(/data/phpspider/zhask/data//catemap/8/swift/16.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Laravel 4 摘要一个多态';保存';在模型上_Laravel 4 - Fatal编程技术网

Laravel 4 摘要一个多态';保存';在模型上

Laravel 4 摘要一个多态';保存';在模型上,laravel-4,Laravel 4,我想创建一个多态记录 这很有效 $user->logs()->create(['message' => 'message', 'failed' => false]); 但我如何将其转换为如下内容: $user->logs()->logSuccess('message'); 在我的日志模型类中,我尝试了以下方法: public function scopeLogSuccess($query, $message) { $this->create(

我想创建一个多态记录

这很有效

$user->logs()->create(['message' => 'message', 'failed' => false]);
但我如何将其转换为如下内容:

$user->logs()->logSuccess('message');
在我的日志模型类中,我尝试了以下方法:

public function scopeLogSuccess($query, $message)
{
    $this->create(['message' => $message, 'failed' => false]);
}
public function scopeLogSuccess($query, $message)
{
    $this->message = $message;
    $this->failed = false;
    $this->save();
}
但什么也没发生。查询将运行,但不会在数据库中插入任何数据,也不会引发任何错误

我也试过:

public function scopeLogSuccess($query, $message)
{
    $this->create(['message' => $message, 'failed' => false]);
}
public function scopeLogSuccess($query, $message)
{
    $this->message = $message;
    $this->failed = false;
    $this->save();
}

“记录”保存在Logs表中-但它没有多态关系上应该生成的“loggable_id”或“loggable_类型”-它们只是空的。

您需要扩展
morpto
类并添加自定义方法-我看不到一个简单的方法来实现这一点。我建议只在您的用户模型上添加
logSuccess
etc方法。

详细说明“但两者似乎都不起作用?”-有任何错误或只是意外的结果吗?抱歉-问题更新了额外的信息。lol。。。为什么有人否决了这个问题?对我来说这似乎是一个合理的问题…嗯。。。但是我需要将成功记录到我的其他模型中,这些模型也可以保存日志……或者我可以制作一个trait Loggable或其他东西——并将其附加到Loggable模型中。。。