Форум программистов, компьютерный форум, киберфорум
PHP: Laravel
Войти
Регистрация
Восстановить пароль
Блоги Сообщество Поиск Заказать работу  
 
Рейтинг 5.00/18: Рейтинг темы: голосов - 18, средняя оценка - 5.00
 Аватар для Landser
57 / 7 / 4
Регистрация: 18.04.2009
Сообщений: 429

Передать переменную из одного метода контроллера в другой

14.05.2019, 21:58. Показов 3297. Ответов 4
Метки нет (Все метки)

Author24 — интернет-сервис помощи студентам
Доброго времени суток. Использую Laravel 5.8.17, Apache 2.4, Windows7. Хочу передать переменную из одного public метода в другой:
PHP Скопировано
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
<?php
namespace App\Http\Controllers;
use Illuminate\Http\Request;
 
class TestController extends Controller
{
    private $x;
 
    public function index()
    {
        $this->x ='111';
        echo '$this->x= '. $this->x;
    }
 
    public function message()
    {
        echo  '$this->x= '. $this->x;
    }    
}
когда вызываю метод index - выводит $this->x=111, когда вызываю метод message- выводит $this->x= и не видит значение из метода index. Все clear команды и composer dump-autoload выполнял.
Наверняка кто-то пытался такое или подобное делать. В оригинале пытаюсь передать из одного метода в другой результат запроса, так что в сессию его не хочу класть да и в Cache тоже...
Спасибо.
0
Programming
Эксперт
39485 / 9562 / 3019
Регистрация: 12.04.2006
Сообщений: 41,671
Блог
14.05.2019, 21:58
Ответы с готовыми решениями:

Передать переменную из одного метода в другой
Есть класс. В нем 2 метода: пусть будут private void textBox1_TextChanged(object sender, EventArgs e) и private void...

Как передать переменную из одного метода в другой?
Возник вопрос. Как передать переменную из одного метода в другой? У меня есть два метода. Нужно передать переменную String fileName из...

Как передать переменную с одного метода в другой
Есть у меня два метода, вот первый public function get_station_page($page) { $result_row =...

4
 Аватар для tarasalk
1992 / 1216 / 440
Регистрация: 13.06.2013
Сообщений: 4,115
15.05.2019, 17:36
Если это разные запросу к серверу, то конечно там ничего не сохраняется. В PHP каждый запрос с нуля стартует.
Передавайте данные вместе с запросом: в ссылке, в теле, в заголовках...
1
 Аватар для Landser
57 / 7 / 4
Регистрация: 18.04.2009
Сообщений: 429
15.05.2019, 17:59  [ТС]
tarasalk, спасибо за ответ!
Вы пишите:
Если это разные запросу к серверу, то конечно там ничего не сохраняется
не совсем понимаю, что Вы имеете здесь ввиду.

Передавайте данные вместе с запросом: в ссылке, в теле, в заголовках...
в методе index я получаю коллекцию - результат поиска - 10 тыс. записей например, и хочу передать её в метод message, который у меня сработает при нажатии кнопки "Экспортировать результат поиска в EXcel"
PHP Скопировано
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
<?php
namespace App\Http\Controllers;
use Illuminate\Http\Request;
use App\Post;
use App\Exports\SearchExport;
use Maatwebsite\Excel\Facades\Excel;
 
class TestController extends Controller
{
    private $x;
 
    public function index(Request $ request)
    {
       $result= Post::where('title',$request->get('title'))->get();//для примера
       $this->x=$result;
    }
 
    public function message()
    {
        return Excel::download(new SearchExport($this->x), 'export.xlsx');
    }    
}
0
 Аватар для tarasalk
1992 / 1216 / 440
Регистрация: 13.06.2013
Сообщений: 4,115
15.05.2019, 20:15
Цитата Сообщение от Landser Посмотреть сообщение
в методе index я получаю коллекцию - результат поиска - 10 тыс. записей например
Это первый запрос.
Цитата Сообщение от Landser Посмотреть сообщение
метод message, который у меня сработает при нажатии кнопки "Экспортировать результат поиска в EXcel"
Это второй запрос.

Переменные между ними не сохраняются. Странное такое не знать.
1
 Аватар для Landser
57 / 7 / 4
Регистрация: 18.04.2009
Сообщений: 429
15.05.2019, 21:02  [ТС]
А, это понятно, конечно не сохраняются. я Вас не так понял)
Попытался сделать так:
PHP Скопировано
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
class TestController extends Controller
{
    private $x;
    public function search(Request $ request)
    {
       $result= Post::where('title',$request->get('title'))->get();//для примера
       $this->x=$result;
       return $this->x;
    }
   public function index (Request $request)
   {
      $this->search($request);
      $r=$this->x;
      $request->flash();
      return view ('search.result','r'=>$r);
   }
    public function message($request)                          
    {   
         $request->request->add($request->old());    
         $this->search($request);
         $r=$this->x;
        return Excel::download(new SearchExport($r, 'export.xlsx');
    }    
}
- так работает, как мне надо, но получается я два раза поисковый запрос к БД выполняю, сначала при отображении во вьюшке, а потом его же при экспорте в Excel...
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
inter-admin
Эксперт
29715 / 6470 / 2152
Регистрация: 06.03.2009
Сообщений: 28,500
Блог
15.05.2019, 21:02
Помогаю со студенческими работами здесь

Как выполнить редирект с одного метода контроллера в другой, без пересоздания контроллера
Я делаю в одном из методов RedirectToAction() , в результате чего, перед перенаправлением обновляется текущий контроллер. Как сделать...

Передать переменную с одного файла в другой
У меня есть 2 файла pr1 и pr2, в pr1 создаю переменную $a, которой зайдаю значения rand(1,5). Как мне в pr2 передать значениє $a?

Передать переменную из одного скрипта в другой
Всем привет. есть скрипт: #!/bin/bash baza=/srv/test #Файл, с которого берем переменную IP while read line do ip=$(echo $line...

Передать переменную из одного файла JS в другой
Здравствуйте Подскажите, пожалуйста, как передать переменную из одного файла JS в другой файл JS первый файл test-1.js five =...

Передать переменную из одного файла в другой
Здравствуйте, save_dan_o_pol-нужны из этого файла переменные $familia и $tema перенести в файл dan_dl_reg. Что я не так делаю? ...


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
5
Ответ Создать тему
Новые блоги и статьи
Похоже LM превзошла меня в умении манипулирования аргументами, но это надо проверить. Линейное решение нелинейной задачи.
Hrethgir 10.04.2025
В продолжение Эта LM дала ответ похожий на нормальный. В комментриях мой комментарий - похоже она првзошла меня в умении манипуляций аргументами. Assistant qwen2. 5-14b-instruct . Сначала. . .
Переменные в Python
py-thonny 10.04.2025
Переменная в программировании — это символическое имя, связанное с областью памяти, в которой хранится значение. Она позволяет получать доступ к данным через понятные человеку идентификаторы, а не. . .
Многопоточность в C#: Task и асинхронные операции
UnmanagedCoder 10.04.2025
Многопоточность позволяет выполнять несколько операций одновременно, что важно для решения двух основных задач: повышения скорости выполнения вычислительно-сложных операций и сохранения отзывчивости. . .
Линейное решение не линейной задачи (емкость вычислений в сравнении с традиционными решениями пока не определена).
Hrethgir 10.04.2025
В рамках предстоящих вычислений пришлось (да, я тоже знаю про корень числа, и про степеня, и прочие теоремы, но. . . ) найти способ нахождения отношения двух углов. . . .
Запуск контейнеров Docker на ARM64
Mr. Docker 09.04.2025
Появление таких решений, как Apple M1/ M2, AWS Graviton, Ampere Altra и Raspberry Pi, сделало использование ARM-систем обыденностью для многих разработчиков и DevOps-инженеров. При этом Docker,. . .
Vue SFC компонент на PHP с Fusion
Jason-Webb 09.04.2025
PHP на сервере и JavaScript на клиенте — классическое сочетание, которое, несмотря на свою эффективность, создает определенный когнитивный диссонанс при разработке. В этом контексте появляются. . .
TypeScript vs JavaScript: Отличия и когда что использовать
Reangularity 09.04.2025
JavaScript появился в 1995 году как творение Брендана Эйха и быстро стал основой интерактивности в вебе. За свою историю он прошел путь от простого языка для манипуляций с DOM до полноценной. . .
Подключение Kafka к Elasticsearch
Codd 09.04.2025
Apache Kafka и Elasticsearch — две мощные технологии, которые при совместном использовании создают эффективную платформу для обработки и анализа данных в реальном времени. Kafka, выступая в роли. . .
Реализации таймеров в Unity
GameUnited 09.04.2025
Время — важный ресурс любой игры. Разработка качественных игровых механик невозможна без грамотного управления временем, а таймеры выступают ключевым инструментом этого управления. Представьте себе. . .
Функции высшего порядка в JavaScript
run.dev 09.04.2025
Функции высшего порядка представляют собой один из фундаментальных камней функционального программирования в JavaScript. По сути, это функции, которые либо принимают другие функции в качестве. . .
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2025, CyberForum.ru
Выделить код Копировать код Сохранить код Нормальный размер Увеличенный размер