【问题标题】:Trying to showing data in a select with method pluck - Laravel尝试使用 pluck 方法在选择中显示数据 - Laravel
【发布时间】:2021-08-31 09:06:06
【问题描述】:

我正在尝试从方法 pluck 中进行简单的选择召唤数据。

我尝试在控制器中执行 dd($var) 并且 x380 数据条目正在正确接收。

然后出现下一个错误:

未定义变量:valor(查看:C:\laragon\www\envio-curriculum\resources\views\enviar_curriculum.blade.php)

$valor 未定义 在刀片模板中使变量可选。将 {{ $valor }} 替换为 {{ $valor ?? '' }}

如果我这样做,我可以看到刀片没有错误,但在选择中出现 x380 void data 将我放入选项部分的内容。

我错过了什么?

EnviarCurriculumController.php

namespace App\Http\Controllers\enviarCurriculum;

use App\EnviarCurriculum;
use App\Configuracion;
use App\Http\Controllers\Controller;
use Illuminate\Http\Request;
use App\Http\Requests\StoreEnviarCurriculumPost;


class EnviarCurriculumController extends Controller
{
    public function create()
    {
        $configuraciones = Configuracion::pluck('ID', 'variable', 'valor', 'valor_numerico', 'tabla', 'texto_largo', 'observacion');

        return view('enviar_curriculum', ['EnviarCurriculum' => new EnviarCurriculum(), 'configuraciones' => $configuraciones]);
    }

    public function store(StoreEnviarCurriculumPost $request)
    {
        EnviarCurriculum::create($request->validated());

        return back()->with('status', '¡Curriculum creado con éxito!');
    }
}

Configuracion.php

namespace App;

use Illuminate\Database\Eloquent\Model;

class Configuracion extends Model
{
    protected $table = 'configuracion';

    protected $primaryKey = 'ID';

    protected $fillable = [
        'variable',
        'valor',
        'valor_numerico',
        'tabla',
        'texto_largo',
        'observacion'
    ];
}

enviar_curriculum.blade.php

<select name="titulacion" id="titulacion">
    <option disabled selected value="">* Titulación mas reciente</option>
    @foreach ($configuraciones as $configuracion)
          <option> {{ $valor }}</option>
    @endforeach   
</select>

【问题讨论】:

  • 如果我理解正确的话,$valor 是 configuraciones 数组中的一个数组吗?请检查您是否可以打印 $configuraciones['valor'] !?
  • 是的,我不能 dd($configuraciones['valor']),错误是 Undefined index: valor。我该如何解决这个问题?

标签: php laravel laravel-6


【解决方案1】:

您错过了在循环中传递 $configuracion。

试试这个:

在您的控制器中

$configuraciones = Configuracion::select(['ID', 'variable', 'valor', 'valor_numerico', 'tabla', 'texto_largo', 'observacion'])->get();

或

$configuraciones = Configuracion::get(['ID', 'variable', 'valor', 'valor_numerico', 'tabla', 'texto_largo', 'observacion']);
<select name="titulacion" id="titulacion">
    <option disabled selected value="">* Titulación mas reciente</option>
    @foreach ($configuraciones as $configuracion)
        <option>{{ $configuracion['valor'] }}</option>
    @endforeach
</select>

【讨论】:

  • 现在它告诉我Trying to access array offset on value of type int (View: C:\laragon\www\envio-curriculum\resources\views\enviar_curriculum.blade.php)
  • 试试{{ $configuracion-&gt;valor ?? 0 }}@ElcondeLucanor
  • 现在出现x380选项,但是都是0 呵呵呵呵。这是一个进步。
猜你喜欢
  • 1970-01-01
  • 2017-03-01
  • 2019-03-12
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2022-06-15
  • 1970-01-01
  • 2016-03-28
相关资源
最近更新 更多