嗨,我刚刚开始使用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还是返回一个记录作为数组的元素?
答案 0 :(得分:0)
findOrFail函数将返回一个集合。如果需要数组,则可以使用toArray()
函数。
public function vewrec($id)
{
$message=Message::findOrFail($id);
if(count($message)!=0){
$message = $message->toArray();
}else{
$message = NULL;
}
return view('record',compact('message'));
}
答案 1 :(得分:0)
您的代码很好,但是在您的模型中update(){
this.http.post<any>("/ssservice", "products=" + body, options)
.suscribe({
complete: () => {
this.getProduct()
},
});
}
getProduct () {
this.http.get<Product[]>("/ssservice")
.subscribe({
(data: Product[]) => products.push(...data),
err => console.log(err)})
}
和变量protected
之间没有空格,因此请更正
$fillable
要获得数组结果,只需在您的口才中添加protected $fillable=['col1','col2'];
toArray()
$message=Message::findOrFail($id)->toArray();
如果找不到记录,将引发错误,因此,如果您想返回null而不是错误,请使用findorfail()
find()
答案 2 :(得分:0)
代码很好,但是在模型中:
protected$fillable=['col1','col2'];
只需将其修复为:
protected $fillable=['col1', 'col2'];
对于公共函数vewrec($ id),它可以返回错误或返回一个元素。也许如果您不希望出现错误,请使用Model :: find($ id)。 希望对您有所帮助。