laravel datatable将值转换为null

t0ybt7op  于 2023-10-22  发布在  其他
关注(0)|答案(1)|浏览(142)

我有一个名为award的表,它的结构如下

Schema::create('award', function (Blueprint $table) {
    $table->id();
    $table->string('title');
    $table->string('image_url');
    $table->tinyInteger('status')->default(1);
    $table->unsignedBigInteger('created_by_id')->nullable();
    $table->unsignedBigInteger('updated_by_id')->nullable();
    $table->timestamp('created_at')->useCurrent();
    $table->timestamp('updated_at')->useCurrent();
});

我使用yajra datatable包填充我的datatable,

$awards = Award::where('status', 1);

return Datatables::of($awards)->make(true);

当我在控制器中dd()这个数据时,所有列都有正确的数据,但是在前端,当我console.log()相同的数据时,image_url列显示null,我不知道为什么会发生这种情况,任何帮助都是很好的。

编辑

当我做

$awards = Award::where('status',1)->get();
dd($awards);

它显示了以下结果:

你可以看到image_url包含一个值,但在前端它显示null

mzsu5hc0

mzsu5hc01#

假设你使用外部laravel文件夹路径并尝试调用它。
它不好当你保存路径以外的laravel文件夹。当你调用img时,根目录是在public文件夹中,所以当你尝试<img src="user1/documents/xxx.png">时,这意味着你尝试访问img到public/user1/documents/xxx.png。
以防万一,当你想插入图像

$item = User::find($request->id);
$file = $request->file('image');
$target_file = $file->getClientOriginalName();
Storage::disk('public')->put($request->nip.$target_file,$request->file('image')->get());
$item->url = $request->name.basename($_FILES["image"]["name"]);
$item->save();

这段代码将帮助你把你的img放在公共文件夹中,所以你可以叫它<img src="xxx.png">

相关问题