相关疑难解决方法(0)

在加载时将自定义属性添加到Laravel/Eloquent模型?

我希望能够在加载时为Laravel/Eloquent模型添加自定义属性/属性,类似于使用RedBean $model->open()方法可以实现方式.

例如,目前,在我的控制器中,我有:

public function index()
{
    $sessions = EventSession::all();
    foreach ($sessions as $i => $session) {
        $sessions[$i]->available = $session->getAvailability();
    }
    return $sessions;
}
Run Code Online (Sandbox Code Playgroud)

能够省略循环并且已经设置和填充'available'属性会很好.

我已经尝试使用文档中描述的一些模型事件来在对象加载时附加此属性,但到目前为止没有成功.

笔记:

  • 'available'不是基础表中的字段.
  • $sessions作为API的一部分作为JSON对象返回,因此调用类似于$session->available()模板的东西不是一种选择

php orm laravel eloquent

195
推荐指数
7
解决办法
18万
查看次数

标签 统计

eloquent ×1

laravel ×1

orm ×1

php ×1