您可以addSelect()向查询链添加一个方法以包含自定义属性。
就像是
$results = YourModelClass::select("*")
->addSelect(DB::raw("IF(condition,1,0) AS editable"))
->get();
Run Code Online (Sandbox Code Playgroud)
在上述情况下,您将替换condition为相关的 SQL 语句,该语句将作为查询的一部分按行进行评估。如果该语句为真,则将每一行返回到您的集合中editable = 1;如果为假,则将editable = 0每一行返回到您的集合中。
编辑:我刚刚看到您希望在每个查询上都有此功能,因此您可能需要模型的全局范围/特征,但上述包含额外属性的技术应该是正确的。
我不会复制/粘贴有关添加全局作用域的文档,这些文档位于 Laravel 核心文档中,我相信您可以找到它。