Php 我在控制器内部的laravel中获取数据数组时遇到问题

Php 我在控制器内部的laravel中获取数据数组时遇到问题,php,arrays,laravel,controller,fetch,Php,Arrays,Laravel,Controller,Fetch,在使用ajax之后,我在获取数据方面遇到了问题。当我使用->value()传递一个字段时,如何获取数据并将其传递给另一个数组?这是可行的,但我想传递多个数据。请帮忙 代码: public function GetCoursId(Request $request) { /* $idcours = $request->input('idcours'); $fcours = DB::table('cours')->where('id_cours',

在使用ajax之后,我在获取数据方面遇到了问题。当我使用->value()传递一个字段时,如何获取数据并将其传递给另一个数组?这是可行的,但我想传递多个数据。请帮忙

代码:

public function GetCoursId(Request $request)
    {

/*
        $idcours = $request->input('idcours');
        $fcours = DB::table('cours')->where('id_cours', $idcours)->value('field_cours') ; 
        $idmod = DB::table('cours')->where('id_cours', $idcours)->value('id_module') ;  */


        $output = array(
            'field_cours'  =>  $fcours,
            'id_module'    =>  $idmod,
            'idcours'    =>  $idcours 
        );
        echo json_encode($output); */

        $idcours = $request->input('idcours');
        $PerCours = DB::table('cours')->where('id_cours', $idcours)->get() ; 


        $output = array(
            'field_cours'  =>  $PerCours->field_cours,
            'id_module'    =>  $PerCours->id_module,
            'idcours'    =>  $idcours 
        ); 
        echo json_encode($output);    
    }    
}

当我通过echo json_encode($PerCours)时,它就会工作

console.log(数据['0'].field_-cours)

有一种方法可以直接显示:
控制台日志(数据字段)

从您的代码来看,您的集合中似乎只有一项,您希望从中获取数据。因此,请使用
first()
而不是
get()

您现在可以像这样获取数据

console.log(data.field_cours);

您可以这样使用此代码:

public function GetCoursId(Request $request)
{
    $idcours = $request->input('idcours');
    $PerCours = DB::table('cours')->where('id_cours', $idcours)->get() ; 

    foreach($PerCours as $PerCour) {
        $field_cours[] = $PerCour['field_cours'];
        $id_module[] = $PerCour['id_module'];
    }
    $output = array(
        'field_cours'  =>  $field_cours,
        'id_module'    =>  $id_module,
        'idcours'    =>  $idcours 
    ); 
    echo json_encode($output);       
}

您的
percurs
是一个集合,您需要对其进行迭代<代码>$PerCours->field\u-cours如果没有循环将无法工作。请尝试
echo json\u-encode($PerCours)
因为
$PerCourse
是这个集合。您能进一步解释一下为什么这个解决方案可以解决这个问题吗?仅仅提供一个解决方案并不能真正帮助理解为什么它会起作用。
public function GetCoursId(Request $request)
{
    $idcours = $request->input('idcours');
    $PerCours = DB::table('cours')->where('id_cours', $idcours)->get() ; 

    foreach($PerCours as $PerCour) {
        $field_cours[] = $PerCour['field_cours'];
        $id_module[] = $PerCour['id_module'];
    }
    $output = array(
        'field_cours'  =>  $field_cours,
        'id_module'    =>  $id_module,
        'idcours'    =>  $idcours 
    ); 
    echo json_encode($output);       
}