database - Laravel Modelname:find($id) 还是 ModelName::findorFail($id)?
问题描述
嗨,我刚开始使用 Laravel,正在浏览一些教程,但遇到了一些问题:这是我的控制器和模型:
namespace App\Http\Controllers;
use App\Message;
use Illuminate\Http\Request;
class MessageController extends Controller
{
public function create(Request $request)
{
$message=new Message();
$message->col1=$request->col1;
$message->col2=$request->col2;
$message->save();
return redirect('/home');
}
public function vewrec($id)
{
$message=Message::findOrFail($id);
return view('record',['message'=>$message]);
}
}
和型号代码:
namespace App;
use Illuminate\Database\Eloquent\Model;
class Message extends Model
{
protected$fillable=['col1','col2'];
}
我应该在模型(消息)中添加一些东西(方法)来查找 id 吗?如果可能的话,我可以要求这种从数据库中提取数据并检查 ID 的方法吗?返回 null 还是将一条记录作为数组的元素返回?
解决方案
代码很好,但在模型中:
protected$fillable=['col1','col2'];
只需将其修复为:
protected $fillable=['col1', 'col2'];
至于公共函数vewrec($id),它可以返回错误或返回一个元素。也许如果您不想出现错误,请使用 Model::find($id)。希望能帮助到你。
推荐阅读
- kotlin - 如何检查kotlin子列表中对象的存在
- java - 将映射映射到包含名称和值参数的对象列表
- c# - C# 使用 EventLogSession 导出事件日志创建 .tmp 文件
- r - R中flexdashboard上的移动视图调整
- linux - 代码在一行中运行良好,但在 bash 中却不行
- android - 我很困惑何时使用仪器测试以及何时使用单元测试
- android-studio - Flutter:MissingPluginException(在通道 plugins.flutter.io/firebase_auth 上找不到方法 createUserWithEmailAndPassword 的实现)
- javascript - 围绕画布圆圈绘制条形音箱
- c++ - 矩阵元素内的双精度和二维双精度数组的映射
- node.js - 将图像从 MongoDB 流式传输到浏览器(MERN 堆栈)