выборка данных с ajax и laravel - PullRequest
0 голосов
/ 25 марта 2020
 public function show_offers(Request $request){
                if($request->ajax()){
                    $all_jobs=Job_offer::all();
                    return response()->json($all_jobs);       
                 }
            }

у меня есть контроллер, который возвращает all_jobs в формате json. в моем html я хочу отобразить имя категории, связанной с catagory_id в переменной all_jobs, я пробовал это, но он только что возвратил category_id = 9 wi sh я хочу отобразить имя категории, связанное с

 <script> 
      $(document).on('keyup','.form-control',function(){
        var root = "job_listing";
        $.ajax({
          url: root,      
          method: 'GET',
          dataType:'json',
          success:function(response){

            for (var i = 0; i < response.length; i++){
                console.log(response[i].category_id)  
                $('.job').html(response[i].offer_title);
                $('.location').html(response[i].location_id);

                }

          }

        })
      });
    </script>

структура таблицы предложений о работе

public function up()
    {
        Schema::create('job_offer', function (Blueprint $table) {
            $table->bigIncrements('id');
            $table->unsignedBigInteger('employer_id');
            $table->unsignedBigInteger('category_id');
            $table->unsignedBigInteger('location_id');
            $table->unsignedBigInteger('salary_id');
            $table->unsignedBigInteger('experience_id');


            $table->foreign('employer_id')->references('id')->on('employers')->onDelete('cascade')->onUpdate('cascade');;
            $table->foreign('category_id')->references('id')->on('categories')->onDelete('cascade')->onUpdate('cascade');;
            $table->foreign('location_id')->references('id')->on('locations')->onDelete('cascade')->onUpdate('cascade');;
            $table->foreign('salary_id')->references('id')->on('salaries')->onDelete('cascade')->onUpdate('cascade');;
            $table->foreign('experience_id')->references('id')->on('experience')->onDelete('cascade')->onUpdate('cascade');;

            $table->string('offer_title');
            $table->string('description');
            $table->string('type_emploi');
            $table->string('offer_image');
            $table->boolean('status')->default(false);
            $table->timestamps();
        });
    }

1 Ответ

0 голосов
/ 25 марта 2020

Добавьте этот код в свой JobOffer. php файл модели

public function category()
{
    return $this->belongsTo(Categories::class, 'category_id');
}

Затем в вашем контроллере попробуйте следующий код:

$all_jobs=Job_offer::with('category')->all();

Затем в Ajax Попробуйте получить доступ к этим данным при этом вы получите название вашей категории:

response[i].category.name

здесь name - это имя поля таблицы вашей категории, которая содержит название категории.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...