Как насчет
App\User::find(1)->$type;
Также вы хотите использовать строку & amp; переменная
App\User::find(1)->$type . '_test';
Однако, если вы хотите использовать строку как первую, я думаю, вам нужно заранее создать переменную и использовать первый подход.
$type = "xx_$type_xx"
App\User::find(1)->$type;
Принимая во внимание, что App\User::find(1)->{$type};
работает,
Но App\User::find(1)->{$type . 'text'};
не работает.
Спасибо.
Когда я запускал что-то подобное вашему примеру в командной строке mysql, это работало; но запустить его с php не удалось. Второй запрос должен «знать о» первом, поэтому я каким-то образом полагаю, что сохранение / память, связывающая два запроса, испортилось из-за php.
(Оказывается, Wordpress использует этот тип запроса для выполнения своих задач. разбиение на страницы - так что наша большая проблема заключалась в том, что разбивка на страницы в установке wordpress внезапно перестала работать, когда мы перешли на php 5.2.6 ... в конечном итоге отследили это до FOUND_ROWS ()).
Просто ради публикации для людей кто может столкнуться с этим в будущем ... для меня это был параметр php "mysql.trace_mode" - по умолчанию в 5.2.6 он был включен, а не выключен, как раньше, Джерри
Вы используете метод запроса MySQL, который допускает несколько запросов.
Из документации MySQL.
Для получения этого количества строки включайте a
SQL_CALC_FOUND_ROWS
опция в операторе SELECT, и затем вызываетFOUND_ROWS()
позже
Пример:
mysql> SELECT SQL_CALC_FOUND_ROWS * FROM tbl_name
-> WHERE id > 100 LIMIT 10;
mysql> SELECT FOUND_ROWS();
Также только для забавы, существует большая дискуссия о состоянии состязания FOUND_ROWS()
использование здесь.
Ну, это была проблема с mysql php расширение, связанное php 5.2.6. Mysqli хорошо работают, и другая php версия также. Извините за шумовой и неясный вопрос.
Если у Вас есть та же проблема, мой совет состоит в том, чтобы переустановить версия изменения или PHP.